pub enum Node {
Header(HeaderNode),
FreeListLeaf(FreeListLeafNode),
FreeListInternal(FreeListInternalNode),
EventLeaf(EventLeafNode),
EventInternal(EventInternalNode),
EventOverflow(EventOverflowNode),
TagsLeaf(TagsLeafNode),
TagsInternal(TagsInternalNode),
TagLeaf(TagLeafNode),
TagInternal(TagInternalNode),
FreeListTsnLeaf(FreeListTsnLeafNode),
FreeListTsnInternal(FreeListTsnInternalNode),
}Variants§
Header(HeaderNode)
FreeListLeaf(FreeListLeafNode)
FreeListInternal(FreeListInternalNode)
EventLeaf(EventLeafNode)
EventInternal(EventInternalNode)
EventOverflow(EventOverflowNode)
TagsLeaf(TagsLeafNode)
TagsInternal(TagsInternalNode)
TagLeaf(TagLeafNode)
TagInternal(TagInternalNode)
FreeListTsnLeaf(FreeListTsnLeafNode)
FreeListTsnInternal(FreeListTsnInternalNode)
Implementations§
Source§impl Node
impl Node
pub fn get_type_byte(&self) -> u8
pub fn type_name(&self) -> &'static str
pub fn calc_serialized_size(&self) -> usize
Sourcepub fn serialize_into(&self, buf: &mut [u8]) -> DCBResult<usize>
pub fn serialize_into(&self, buf: &mut [u8]) -> DCBResult<usize>
No-allocation serialization into a provided buffer slice. Returns the number of bytes written. Implemented for key node types; for others it falls back to allocate-and-copy.
pub fn deserialize(node_type: u8, data: &[u8]) -> DCBResult<Self>
Trait Implementations§
impl Eq for Node
impl StructuralPartialEq for Node
Auto Trait Implementations§
impl Freeze for Node
impl RefUnwindSafe for Node
impl Send for Node
impl Sync for Node
impl Unpin for Node
impl UnwindSafe for Node
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more