Expand description
A worked Chunk: Vec<((K, V), T, R)> behind an Rc.
The reference implementation. It shows the two integration points any Chunk
satisfies; another layout copies this shape, not the Vec:
- Batcher side. The chunker builds chunks through timely’s container traits
(
Accountable,SizableContainer,Consolidate,PushInto), which here delegate to the innerVecviaRc::make_mut(free while building, never copying a shared batch). - Trace side.
Chunkplus a cursor: key lookups gallop (logarithmic in chunk size), stepping is linear.
Clone is a refcount bump, so the trace merger shares source chunks rather than
copying them.
Structs§
- VecChunk
- A sorted, consolidated run of
((key, val), time, diff), shared viaRc. - VecChunk
Cursor - A cursor over a
VecChunk, tracking the current key and(key, val)group starts as indices into the flat vector.
Type Aliases§
- Chunk
Batcher - Merge batcher over
VecChunks; aContainerChunker<VecChunk>at thearrange_corecallsite forms the chunks it merges (via the container traits below). - Chunk
Builder - Batch builder.
- Chunk
Spine - The trace type for
arrange: a spine ofRc-shared chunk batches.