$provider
$provider : \Drupal\strata\Storage\StorageProviderInterface
Writes the anchors a replay starts from.
One object per anchor, content-addressed, chained to the anchor before it. A delta anchor names only the subjects that changed since its parent; a full one names every subject and ends the chain so a resolve is bounded.
$provider : \Drupal\strata\Storage\StorageProviderInterface
delta(array, size: int}|null> $changed, string|null $parent, int $microtime) : string
Writes a delta anchor over an existing one.
| array |
$changed | Subject path keyed to its new frame map, or NULL for a subject that was deleted. |
| string|null | $parent | Address of the previous anchor, or NULL when this is the first one, in which case it is written as a full anchor because there is nothing behind it to change. |
| int | $microtime | Unix microseconds. |
When the anchor cannot be written.
The new anchor's address.
full(array, size: int}> $index, int $microtime) : string
Writes a full anchor, which ends the chain.
| array |
$index | Every subject the site holds. |
| int | $microtime | Unix microseconds. |
When the anchor cannot be written.
The new anchor's address.
withoutDeletions(array, size: int}|null> $changed) : array<string,array{frames: list<string>, size: int}>
Drops the deletions from a change set.
A full anchor lists what exists. A subject recorded as deleted exists in a delta only to cancel its parent's entry, and a full anchor has no parent to cancel.
| array |
$changed | The change set. |
The surviving subjects.