pub struct UnorderedBatch {
pub key_prefix_deletions: Vec<Vec<u8>>,
pub simple_unordered_batch: SimpleUnorderedBatch,
}Expand description
An unordered batch of deletions and insertions, together with a set of key-prefixes to delete.
The batch may contain collisions between key_prefix_deletions and insertions: a
prefix in key_prefix_deletions may cover one or more keys in insertions. Backends
are responsible for ordering execution so that insertions “happen after” the prefix
deletions semantically.
Fields§
§key_prefix_deletions: Vec<Vec<u8>>The key-prefix deletions.
simple_unordered_batch: SimpleUnorderedBatchThe batch of deletions and insertions.
Implementations§
Source§impl UnorderedBatch
impl UnorderedBatch
Sourcepub async fn expand_delete_prefixes<DB: DeletePrefixExpander>(
self,
db: &DB,
) -> Result<SimpleUnorderedBatch, DB::Error>
pub async fn expand_delete_prefixes<DB: DeletePrefixExpander>( self, db: &DB, ) -> Result<SimpleUnorderedBatch, DB::Error>
From an UnorderedBatch, creates a SimpleUnorderedBatch that does not contain the
key_prefix_deletions. This requires accessing the database to eliminate them.
Trait Implementations§
Source§impl BatchValueWriter<UnorderedBatch> for UnorderedBatchIter
impl BatchValueWriter<UnorderedBatch> for UnorderedBatchIter
Source§fn write_next_value(
&mut self,
batch: &mut UnorderedBatch,
batch_size: &mut usize,
) -> Result<bool, Error>
fn write_next_value( &mut self, batch: &mut UnorderedBatch, batch_size: &mut usize, ) -> Result<bool, Error>
Writes the next value (if any) to the batch and updates the batch size accordingly. Read more
Source§fn next_batch_size(
&mut self,
batch: &UnorderedBatch,
batch_size: usize,
) -> Result<Option<usize>, Error>
fn next_batch_size( &mut self, batch: &UnorderedBatch, batch_size: usize, ) -> Result<Option<usize>, Error>
Computes the batch size that we would obtain if we wrote the next value (if any)
without consuming the value.
Source§impl Default for UnorderedBatch
impl Default for UnorderedBatch
Source§fn default() -> UnorderedBatch
fn default() -> UnorderedBatch
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for UnorderedBatch
impl<'de> Deserialize<'de> for UnorderedBatch
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
Source§impl Serialize for UnorderedBatch
impl Serialize for UnorderedBatch
Source§impl SimplifiedBatch for UnorderedBatch
impl SimplifiedBatch for UnorderedBatch
Source§type Iter = UnorderedBatchIter
type Iter = UnorderedBatchIter
The iterator type used to process values from the batch.
Source§fn overhead_size(&self) -> usize
fn overhead_size(&self) -> usize
Returns the overhead size of the batch.
Source§fn add_delete(&mut self, key: Vec<u8>)
fn add_delete(&mut self, key: Vec<u8>)
Adds the deletion of key to the batch.
Source§fn add_insert(&mut self, key: Vec<u8>, value: Vec<u8>)
fn add_insert(&mut self, key: Vec<u8>, value: Vec<u8>)
Adds the insertion of a key-value pair to the batch.
Source§async fn from_batch<S: DeletePrefixExpander>(
_store: S,
batch: Batch,
) -> Result<Self, S::Error>
async fn from_batch<S: DeletePrefixExpander>( _store: S, batch: Batch, ) -> Result<Self, S::Error>
Creates a simplified batch from a standard one.
Auto Trait Implementations§
impl Freeze for UnorderedBatch
impl RefUnwindSafe for UnorderedBatch
impl Send for UnorderedBatch
impl Sync for UnorderedBatch
impl Unpin for UnorderedBatch
impl UnsafeUnpin for UnorderedBatch
impl UnwindSafe for UnorderedBatch
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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<Choices> CoproductSubsetter<CNil, HNil> for Choices
impl<Choices> CoproductSubsetter<CNil, HNil> for Choices
Source§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
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> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Gets the layout of the type.
Source§impl<T> MockResults for T
impl<T> MockResults for T
Source§type Results = T
type Results = T
The mock native type of the results for the
MockInstance.Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<M, I> RuntimeMemory<&mut I> for Mwhere
M: RuntimeMemory<I>,
impl<M, I> RuntimeMemory<&mut I> for Mwhere
M: RuntimeMemory<I>,
Source§fn read<'instance>(
&self,
instance: &'instance &mut I,
location: GuestPointer,
length: u32,
) -> Result<Cow<'instance, [u8]>, RuntimeError>
fn read<'instance>( &self, instance: &'instance &mut I, location: GuestPointer, length: u32, ) -> Result<Cow<'instance, [u8]>, RuntimeError>
Reads length bytes from memory from the provided location.
Source§fn write(
&mut self,
instance: &mut &mut I,
location: GuestPointer,
bytes: &[u8],
) -> Result<(), RuntimeError>
fn write( &mut self, instance: &mut &mut I, location: GuestPointer, bytes: &[u8], ) -> Result<(), RuntimeError>
Writes the bytes to memory at the provided location.
Source§impl<T> Upcastable for T
impl<T> Upcastable for T
Source§fn upcast_any_ref(&self) -> &(dyn Any + 'static)
fn upcast_any_ref(&self) -> &(dyn Any + 'static)
upcast ref
Source§fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
upcast mut ref