pub struct FlushPlan {
pub tiles: Vec<Tile>,
pub entry_bundles: Vec<Tile>,
}Expand description
A deterministic flush plan: the exact set of C2SP tlog-tiles
coordinates whose bytes change when a log grows from old_size to
new_size, split into Merkle tiles and level-0 entry bundles.
This is what an operator’s writer flushes after sequencing a batch: every
other tile in the tree is already finalized and byte-identical, so only these
need to be (re)written to object storage. Computed purely from
crate::tile geometry — it changes no canonical bytes.
Fields§
§tiles: Vec<Tile>Merkle tiles (tile/<L>/<N>[.p/<W>]) to (re)write, in
tiles_for_size order (level 0 first, then by index).
entry_bundles: Vec<Tile>Level-0 entry-bundle tiles (tile/entries/<N>[.p/<W>]) to (re)write.
Trait Implementations§
impl Eq for FlushPlan
impl StructuralPartialEq for FlushPlan
Auto Trait Implementations§
impl Freeze for FlushPlan
impl RefUnwindSafe for FlushPlan
impl Send for FlushPlan
impl Sync for FlushPlan
impl Unpin for FlushPlan
impl UnsafeUnpin for FlushPlan
impl UnwindSafe for FlushPlan
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more