pub struct CompactUnmerkleizedBatch<F, H, K, V, S: Strategy>{ /* private fields */ }Expand description
A speculative batch for a compact immutable db.
Implementations§
Source§impl<F, H, K, V, S> UnmerkleizedBatch<F, H, K, V, S>where
F: Family,
K: Key,
V: ValueEncoding,
H: Hasher,
S: Strategy,
Operation<F, K, V>: EncodeShared,
impl<F, H, K, V, S> UnmerkleizedBatch<F, H, K, V, S>where
F: Family,
K: Key,
V: ValueEncoding,
H: Hasher,
S: Strategy,
Operation<F, K, V>: EncodeShared,
pub fn set(self, key: K, value: V::Value) -> Self
Sourcepub fn merkleize<E, C>(
self,
db: &Db<F, E, K, V, H, C, S>,
metadata: Option<V::Value>,
inactivity_floor: Location<F>,
) -> Arc<MerkleizedBatch<F, H::Digest, K, V, S>> ⓘ
pub fn merkleize<E, C>( self, db: &Db<F, E, K, V, H, C, S>, metadata: Option<V::Value>, inactivity_floor: Location<F>, ) -> Arc<MerkleizedBatch<F, H::Digest, K, V, S>> ⓘ
Resolve mutations into operations, merkleize, and return an Arc<MerkleizedBatch>.
inactivity_floor is threaded through the commit operation for wire-format parity with
crate::qmdb::immutable::Immutable. It must be >= the database’s current floor
(monotonically non-decreasing) and at most the batch’s commit location
(total_size - 1); these bounds are validated, but the floor does not drive any local
pruning or retention in this variant.
Auto Trait Implementations§
impl<F, H, K, V, S> Freeze for UnmerkleizedBatch<F, H, K, V, S>
impl<F, H, K, V, S> RefUnwindSafe for UnmerkleizedBatch<F, H, K, V, S>where
<H as Hasher>::Digest: RefUnwindSafe,
S: RefUnwindSafe,
K: RefUnwindSafe,
<V as ValueEncoding>::Value: RefUnwindSafe,
F: RefUnwindSafe,
impl<F, H, K, V, S> Send for UnmerkleizedBatch<F, H, K, V, S>
impl<F, H, K, V, S> Sync for UnmerkleizedBatch<F, H, K, V, S>
impl<F, H, K, V, S> Unpin for UnmerkleizedBatch<F, H, K, V, S>
impl<F, H, K, V, S> UnsafeUnpin for UnmerkleizedBatch<F, H, K, V, S>
impl<F, H, K, V, S> UnwindSafe for UnmerkleizedBatch<F, H, K, V, S>where
K: RefUnwindSafe,
<V as ValueEncoding>::Value: RefUnwindSafe,
<H as Hasher>::Digest: RefUnwindSafe + UnwindSafe,
S: RefUnwindSafe,
F: RefUnwindSafe + UnwindSafe,
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> 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