buildgrid.server.cas.split_splicer module

SplitSplicer

Top-level orchestration for the SpliceBlob (and, in future, SplitBlob) RPCs.

Splice must run at the top-level storage: on a ShardedStorage a blob’s chunks may span shards, so verification reads chunks across the whole storage while the chunk mapping is recorded only on the shard that owns the blob digest. Per-storage mapping state is delegated to the get_chunk_digests / record_spliced_blob hooks.

class buildgrid.server.cas.split_splicer.SplitSplicer(storage: StorageABC)

Bases: object

splice_blob(blob_digest: Digest, chunk_digests: Sequence[Digest]) Digest

Verify that concatenating the chunks produces blob_digest, record the mapping, and return the computed digest.