pub enum Operation<F: Family, S: Update> {
Delete(S::Key),
Update(S),
CommitFloor(Option<S::Value>, Location<F>),
}Variants§
Trait Implementations§
Source§impl<F, K, V> EncodeSize for Operation<F, Ordered<K, VariableEncoding<V>>>where
F: Family,
K: Key + EncodeSize,
V: VariableValue,
Ordered<K, VariableEncoding<V>>: EncodeSize,
impl<F, K, V> EncodeSize for Operation<F, Ordered<K, VariableEncoding<V>>>where
F: Family,
K: Key + EncodeSize,
V: VariableValue,
Ordered<K, VariableEncoding<V>>: EncodeSize,
Source§fn encode_size(&self) -> usize
fn encode_size(&self) -> usize
Returns the encoded size of this value (in bytes).
Source§fn encode_inline_size(&self) -> usize
fn encode_inline_size(&self) -> usize
Returns the encoded size excluding bytes passed to
BufsMut::push
during Write::write_bufs. Used to size the working buffer for inline
writes. Override alongside Write::write_bufs for types where large
Bytes fields go via push; failing to do so will over-allocate.Source§impl<F, K, V> EncodeSize for Operation<F, Unordered<K, VariableEncoding<V>>>where
F: Family,
K: Key + EncodeSize,
V: VariableValue,
Unordered<K, VariableEncoding<V>>: EncodeSize,
impl<F, K, V> EncodeSize for Operation<F, Unordered<K, VariableEncoding<V>>>where
F: Family,
K: Key + EncodeSize,
V: VariableValue,
Unordered<K, VariableEncoding<V>>: EncodeSize,
Source§fn encode_size(&self) -> usize
fn encode_size(&self) -> usize
Returns the encoded size of this value (in bytes).
Source§fn encode_inline_size(&self) -> usize
fn encode_inline_size(&self) -> usize
Returns the encoded size excluding bytes passed to
BufsMut::push
during Write::write_bufs. Used to size the working buffer for inline
writes. Override alongside Write::write_bufs for types where large
Bytes fields go via push; failing to do so will over-allocate.Source§impl<F: Family, S: Update> Operation<F> for Operation<F, S>
impl<F: Family, S: Update> Operation<F> for Operation<F, S>
Source§impl<F: Family, S: Update> Read for Operation<F, S>where
S::ValueEncoding: OperationCodec<F, S>,
impl<F: Family, S: Update> Read for Operation<F, S>where
S::ValueEncoding: OperationCodec<F, S>,
Source§type Cfg = <<S as Update>::ValueEncoding as OperationCodec<F, S>>::ReadCfg
type Cfg = <<S as Update>::ValueEncoding as OperationCodec<F, S>>::ReadCfg
The
Cfg type parameter allows passing configuration during the read process. This is
crucial for safely decoding untrusted data, for example, by providing size limits for
collections or strings. Read moreSource§impl<F: Family, S: Update> Write for Operation<F, S>where
S::ValueEncoding: OperationCodec<F, S>,
impl<F: Family, S: Update> Write for Operation<F, S>where
S::ValueEncoding: OperationCodec<F, S>,
Source§fn write_bufs(&self, buf: &mut impl BufsMut)
fn write_bufs(&self, buf: &mut impl BufsMut)
Writes to a
BufsMut, allowing existing Bytes chunks to be
appended via BufsMut::push instead of written inline. Must encode
to the same format as Write::write. Defaults to Write::write.impl<F: Family, S: Update> StructuralPartialEq for Operation<F, S>
Auto Trait Implementations§
impl<F, S> Freeze for Operation<F, S>
impl<F, S> RefUnwindSafe for Operation<F, S>where
<S as Update>::Key: RefUnwindSafe,
S: RefUnwindSafe,
<S as Update>::Value: RefUnwindSafe,
F: RefUnwindSafe,
impl<F, S> Send for Operation<F, S>
impl<F, S> Sync for Operation<F, S>
impl<F, S> Unpin for Operation<F, S>
impl<F, S> UnsafeUnpin for Operation<F, S>
impl<F, S> UnwindSafe for Operation<F, S>where
<S as Update>::Key: UnwindSafe,
S: UnwindSafe,
<S as Update>::Value: UnwindSafe,
F: 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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<X, U> DecodeRangeExt<X> for U
impl<X, U> DecodeRangeExt<X> for U
Source§fn decode_range(
buf: impl Buf,
range: impl RangeBounds<usize>,
) -> Result<Self, Error>
fn decode_range( buf: impl Buf, range: impl RangeBounds<usize>, ) -> Result<Self, Error>
Decodes a value using only a range configuration. Read more
Source§impl<T> Encode for Twhere
T: Write + EncodeSize,
impl<T> Encode for Twhere
T: Write + EncodeSize,
Source§impl<T> EncodeExt for Twhere
T: EncodeSize + Write,
impl<T> EncodeExt for Twhere
T: EncodeSize + Write,
Source§fn encode_with_pool_mut(&self, pool: &BufferPool) -> IoBufMut
fn encode_with_pool_mut(&self, pool: &BufferPool) -> IoBufMut
Source§fn encode_with_pool(&self, pool: &BufferPool) -> IoBufs
fn encode_with_pool(&self, pool: &BufferPool) -> IoBufs
Source§impl<T> EncodeFixed for T
impl<T> EncodeFixed for T
Source§impl<T> EncodeSize for Twhere
T: FixedSize,
impl<T> EncodeSize for Twhere
T: FixedSize,
Source§fn encode_size(&self) -> usize
fn encode_size(&self) -> usize
Returns the encoded size of this value (in bytes).
Source§fn encode_inline_size(&self) -> usize
fn encode_inline_size(&self) -> usize
Returns the encoded size excluding bytes passed to
BufsMut::push
during Write::write_bufs. Used to size the working buffer for inline
writes. Override alongside Write::write_bufs for types where large
Bytes fields go via push; failing to do so will over-allocate.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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<X, U> ReadRangeExt<X> for U
impl<X, U> ReadRangeExt<X> for U
Source§fn read_range(
buf: &mut impl Buf,
range: impl RangeBounds<usize>,
) -> Result<Self, Error>
fn read_range( buf: &mut impl Buf, range: impl RangeBounds<usize>, ) -> Result<Self, Error>
Reads a value using only a range configuration. Read more
Source§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.