pub struct DagNode {
pub links: Vec<DagLink>,
pub total_size: u64,
pub data: Option<Vec<u8>>,
}Expand description
A node in the Merkle DAG structure
Fields§
§links: Vec<DagLink>Links to child nodes
total_size: u64Total size of all data under this node
data: Option<Vec<u8>>Raw data in this node (for leaf nodes)
Implementations§
Source§impl DagNode
impl DagNode
Sourcepub fn intermediate(links: Vec<DagLink>) -> Self
pub fn intermediate(links: Vec<DagLink>) -> Self
Create an intermediate node with links
Sourcepub fn link_count(&self) -> usize
pub fn link_count(&self) -> usize
Get the number of links
Sourcepub fn to_dag_cbor(&self) -> Result<Vec<u8>>
pub fn to_dag_cbor(&self) -> Result<Vec<u8>>
Encode to DAG-CBOR bytes
Trait Implementations§
Source§impl<'de> Deserialize<'de> for DagNode
impl<'de> Deserialize<'de> for DagNode
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for DagNode
impl RefUnwindSafe for DagNode
impl Send for DagNode
impl Sync for DagNode
impl Unpin for DagNode
impl UnwindSafe for DagNode
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<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