pub struct SubtreePlan {
pub leaf_keys: Vec<XorName>,
pub sibling_cut_hashes: Vec<[u8; 32]>,
}Expand description
The pure (no-bytes) geometry of a subtree proof.
Holds the ordered keys whose bytes the responder must hash and the sibling cut-hashes read from the tree. Splitting this out lets an async responder read chunk bytes per leaf without forcing the tree-walking maths to be async.
Fields§
§leaf_keys: Vec<XorName>The selected leaves’ keys, in ascending leaf-index order.
sibling_cut_hashes: Vec<[u8; 32]>One sibling cut-hash per level on the path to the subtree root, root-first.
Trait Implementations§
Source§impl Clone for SubtreePlan
impl Clone for SubtreePlan
Source§fn clone(&self) -> SubtreePlan
fn clone(&self) -> SubtreePlan
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for SubtreePlan
impl RefUnwindSafe for SubtreePlan
impl Send for SubtreePlan
impl Sync for SubtreePlan
impl Unpin for SubtreePlan
impl UnsafeUnpin for SubtreePlan
impl UnwindSafe for SubtreePlan
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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