pub struct LeafSplit {
pub left_bytes: Vec<u8>,
pub right_bytes: Vec<u8>,
pub split_out_hash: u32,
}Expand description
Result of a leaf-split planning call. The caller still needs to:
- Allocate a new logical block for
new_leaf(extent + inode size). - Apply both
WriteDirBlockmutations. - Call
plan_insert_dx_entry_root/_nodeon the parent withsplit_out_hashand the new leaf’s logical block number.
Fields§
§left_bytes: Vec<u8>Updated bytes of the original (left) leaf block. Contains entries with
hash < split_out_hash.
right_bytes: Vec<u8>Bytes of the new (right) leaf block. Contains entries with hash >=
split_out_hash. Caller writes to the freshly-allocated block.
split_out_hash: u32Hash bound for the new right-leaf — this is the dx_entry.hash the caller must install in the parent when routing the new leaf into the tree.
Trait Implementations§
impl Eq for LeafSplit
impl StructuralPartialEq for LeafSplit
Auto Trait Implementations§
impl Freeze for LeafSplit
impl RefUnwindSafe for LeafSplit
impl Send for LeafSplit
impl Sync for LeafSplit
impl Unpin for LeafSplit
impl UnsafeUnpin for LeafSplit
impl UnwindSafe for LeafSplit
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