relocate()
relocate(\Drupal\strata\Cas\FrameRecord $record) : \Drupal\strata\Cas\FrameRecord
Replaces where a frame lives and how it is encoded, keeping its reference count.
What compaction needs. Recompressing a frame changes its object, its offset, its codec and its
stored size, and changes nothing about its content address or who points at it - the address is
the digest of the decoded bytes, so it survives a change of encoding by construction.
Distinct from FrameIndexInterface::record(), which treats a frame it already holds as a second
reference to the same bytes in the same place and must not move it.
Parameters
| \Drupal\strata\Cas\FrameRecord |
$record |
The record's new location and encoding. Its reference count is ignored in favour of the one
already stored.
|
Returns
\Drupal\strata\Cas\FrameRecord
— The stored record, with the reference count it kept.