You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Whilst we expect access patterns to improve (likely in V3) for random access patterns on the content store of a raw .stone, that isn't a blocker for implementing basic deltas in V2.
The type flag for Delta has been reserved in the container format for some time, and could quite trivially be implemented today. Of course, this format implementation is a separate issue to making delta packages visible in the index and usable by the client.
Long story short, a .delta.stone would be a regular stone with the header-type set to Delta, containing the Layout+Meta payloads of the input stone B. A new content payload (and associated index payload) are generated, containing only the addressable assets (xxh128) that exist only in stone B and not in stone A.
Given that we'll ensure stone A was already cached in the client install before allowing the delta to B to be used, we can rely on using stone B's layout references to stone A's addressable content in the local cache.
Thus: Delta C blobs = B ~ A
For implementation in the client side, we'll also need Meta Payload record(s) to describe the DeltaOrigin and DeltaTarget to assert the delta is valid for the two inputs.
The text was updated successfully, but these errors were encountered:
Whilst we expect access patterns to improve (likely in V3) for random access patterns on the content store of a raw
.stone
, that isn't a blocker for implementing basic deltas in V2.The type flag for
Delta
has been reserved in the container format for some time, and could quite trivially be implemented today. Of course, this format implementation is a separate issue to making delta packages visible in the index and usable by the client.Long story short, a
.delta.stone
would be a regular stone with the header-type set toDelta
, containing the Layout+Meta payloads of the input stoneB
. A new content payload (and associated index payload) are generated, containing only the addressable assets (xxh128) that exist only in stoneB
and not in stoneA
.Given that we'll ensure stone
A
was already cached in the client install before allowing the delta toB
to be used, we can rely on using stone B's layout references to stone A's addressable content in the local cache.Thus: Delta C blobs = B ~ A
For implementation in the client side, we'll also need Meta Payload record(s) to describe the DeltaOrigin and DeltaTarget to assert the delta is valid for the two inputs.
The text was updated successfully, but these errors were encountered: