pub struct MerkleizedBatch<F: Family, D: Digest, Item: Send + Sync> { /* private fields */ }Expand description
A speculative batch whose root digest has been computed, in contrast to UnmerkleizedBatch.
Implementations§
Source§impl<F: Family, D: Digest, Item: Send + Sync> MerkleizedBatch<F, D, Item>
impl<F: Family, D: Digest, Item: Send + Sync> MerkleizedBatch<F, D, Item>
Sourcepub fn root(&self) -> D
pub fn root(&self) -> D
Return the root digest of the authenticated journal after this batch is applied.
Sourcepub fn new_batch<H: Hasher<Digest = D>>(
self: &Arc<Self>,
) -> UnmerkleizedBatch<F, H, Item>where
Item: Encode,
pub fn new_batch<H: Hasher<Digest = D>>(
self: &Arc<Self>,
) -> UnmerkleizedBatch<F, H, Item>where
Item: Encode,
Create a new speculative batch of operations with this batch as its parent.
All uncommitted ancestors in the chain must be kept alive until the child (or any
descendant) is merkleized. Dropping an uncommitted ancestor causes data
loss detected at apply_batch time.
Trait Implementations§
Source§impl<F: Clone + Family, D: Clone + Digest, Item: Clone + Send + Sync> Clone for MerkleizedBatch<F, D, Item>
impl<F: Clone + Family, D: Clone + Digest, Item: Clone + Send + Sync> Clone for MerkleizedBatch<F, D, Item>
Source§fn clone(&self) -> MerkleizedBatch<F, D, Item>
fn clone(&self) -> MerkleizedBatch<F, D, Item>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<F: Debug + Family, D: Debug + Digest, Item: Debug + Send + Sync> Debug for MerkleizedBatch<F, D, Item>
impl<F: Debug + Family, D: Debug + Digest, Item: Debug + Send + Sync> Debug for MerkleizedBatch<F, D, Item>
Source§impl<F: Family, D: Digest, Item: Send + Sync> Readable for MerkleizedBatch<F, D, Item>
impl<F: Family, D: Digest, Item: Send + Sync> Readable for MerkleizedBatch<F, D, Item>
Source§fn get_node(&self, pos: Position<F>) -> Option<D>
fn get_node(&self, pos: Position<F>) -> Option<D>
Digest of the node at
pos, or None if pruned / out of bounds.Source§fn pruning_boundary(&self) -> Location<F>
fn pruning_boundary(&self) -> Location<F>
Leaf location up to which pruning has been performed, or 0 if never pruned.
Source§fn proof(
&self,
hasher: &impl Hasher<F, Digest = D>,
loc: Location<F>,
) -> Result<Proof<F, D>, Error<F>>
fn proof( &self, hasher: &impl Hasher<F, Digest = D>, loc: Location<F>, ) -> Result<Proof<F, D>, Error<F>>
Inclusion proof for the element at
loc.Auto Trait Implementations§
impl<F, D, Item> Freeze for MerkleizedBatch<F, D, Item>
impl<F, D, Item> !RefUnwindSafe for MerkleizedBatch<F, D, Item>
impl<F, D, Item> Send for MerkleizedBatch<F, D, Item>
impl<F, D, Item> Sync for MerkleizedBatch<F, D, Item>
impl<F, D, Item> Unpin for MerkleizedBatch<F, D, Item>
impl<F, D, Item> UnsafeUnpin for MerkleizedBatch<F, D, Item>
impl<F, D, Item> !UnwindSafe for MerkleizedBatch<F, D, Item>
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> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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