pub struct Segment { /* private fields */ }Expand description
A decoded segment. Immutable once built; lookups are binary searches.
Implementations§
Source§impl Segment
impl Segment
Sourcepub fn encode(
fwd: impl ExactSizeIterator<Item = (NodeId, EdgeLabel, NodeId)>,
rev: impl ExactSizeIterator<Item = (NodeId, EdgeLabel, NodeId)>,
keys: &[(String, NodeId)],
) -> Vec<u8> ⓘ
pub fn encode( fwd: impl ExactSizeIterator<Item = (NodeId, EdgeLabel, NodeId)>, rev: impl ExactSizeIterator<Item = (NodeId, EdgeLabel, NodeId)>, keys: &[(String, NodeId)], ) -> Vec<u8> ⓘ
Encode from already-sorted parts. Callers hand over iterators in segment order (the memtable’s natural order), so encoding is one pass, no sort.
pub fn decode(bytes: &[u8]) -> Result<Self>
pub fn out( &self, src: NodeId, label: EdgeLabel, ) -> impl Iterator<Item = NodeId> + '_
pub fn in( &self, dst: NodeId, label: EdgeLabel, ) -> impl Iterator<Item = NodeId> + '_
pub fn keys(&self) -> impl Iterator<Item = (&str, NodeId)> + '_
pub fn edge_count(&self) -> usize
Auto Trait Implementations§
impl Freeze for Segment
impl RefUnwindSafe for Segment
impl Send for Segment
impl Sync for Segment
impl Unpin for Segment
impl UnsafeUnpin for Segment
impl UnwindSafe for Segment
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