pub struct TransactionLog { /* private fields */ }Implementations§
Source§impl TransactionLog
impl TransactionLog
Sourcepub fn new_from_parts(
id: &SnapshotId,
sorted_new_groups: impl ExactSizeIterator<Item = NodeId> + DoubleEndedIterator,
sorted_new_arrays: impl ExactSizeIterator<Item = NodeId> + DoubleEndedIterator,
sorted_deleted_groups: impl ExactSizeIterator<Item = NodeId> + DoubleEndedIterator,
sorted_deleted_arrays: impl ExactSizeIterator<Item = NodeId> + DoubleEndedIterator,
sorted_updated_groups: impl ExactSizeIterator<Item = NodeId> + DoubleEndedIterator,
sorted_updated_arrays: impl ExactSizeIterator<Item = NodeId> + DoubleEndedIterator,
sorted_updated_chunks: impl ExactSizeIterator<Item = (NodeId, impl Iterator<Item = ChunkIndices>)> + DoubleEndedIterator,
sorted_moves: impl Iterator<Item = Move>,
) -> Self
pub fn new_from_parts( id: &SnapshotId, sorted_new_groups: impl ExactSizeIterator<Item = NodeId> + DoubleEndedIterator, sorted_new_arrays: impl ExactSizeIterator<Item = NodeId> + DoubleEndedIterator, sorted_deleted_groups: impl ExactSizeIterator<Item = NodeId> + DoubleEndedIterator, sorted_deleted_arrays: impl ExactSizeIterator<Item = NodeId> + DoubleEndedIterator, sorted_updated_groups: impl ExactSizeIterator<Item = NodeId> + DoubleEndedIterator, sorted_updated_arrays: impl ExactSizeIterator<Item = NodeId> + DoubleEndedIterator, sorted_updated_chunks: impl ExactSizeIterator<Item = (NodeId, impl Iterator<Item = ChunkIndices>)> + DoubleEndedIterator, sorted_moves: impl Iterator<Item = Move>, ) -> Self
Low level method that creates a tx log from its parts Intended to be used only by library creators
Sourcepub fn verify_buffer(buffer: &[u8]) -> IcechunkResult<()>
pub fn verify_buffer(buffer: &[u8]) -> IcechunkResult<()>
Check that buffer passes every check TransactionLog::from_buffer applies.
pub fn from_buffer(buffer: Vec<u8>) -> IcechunkResult<Self>
pub fn new_groups( &self, ) -> impl ExactSizeIterator<Item = NodeId> + DoubleEndedIterator + '_
pub fn new_arrays( &self, ) -> impl ExactSizeIterator<Item = NodeId> + DoubleEndedIterator + '_
pub fn deleted_groups( &self, ) -> impl ExactSizeIterator<Item = NodeId> + DoubleEndedIterator + '_
pub fn deleted_arrays( &self, ) -> impl ExactSizeIterator<Item = NodeId> + DoubleEndedIterator + '_
pub fn updated_groups( &self, ) -> impl ExactSizeIterator<Item = NodeId> + DoubleEndedIterator + '_
pub fn updated_arrays( &self, ) -> impl ExactSizeIterator<Item = NodeId> + DoubleEndedIterator + '_
pub fn updated_chunks( &self, ) -> impl Iterator<Item = (NodeId, impl Iterator<Item = ChunkIndices> + '_)> + '_
pub fn moves(&self) -> impl Iterator<Item = IcechunkResult<Move>> + '_
pub fn updated_chunks_for( &self, node: &NodeId, ) -> impl Iterator<Item = ChunkIndices> + '_ + use<'_>
pub fn updated_chunks_counts( &self, ) -> impl Iterator<Item = (NodeId, u64)> + '_ + use<'_>
pub fn group_created(&self, id: &NodeId) -> bool
pub fn array_created(&self, id: &NodeId) -> bool
pub fn group_deleted(&self, id: &NodeId) -> bool
pub fn array_deleted(&self, id: &NodeId) -> bool
pub fn group_updated(&self, id: &NodeId) -> bool
pub fn array_updated(&self, id: &NodeId) -> bool
pub fn chunks_updated(&self, id: &NodeId) -> bool
pub fn bytes(&self) -> &[u8] ⓘ
pub fn len(&self) -> usize
pub fn is_empty(&self) -> bool
pub fn has_moves(&self) -> bool
pub fn merge<'a, T: IntoIterator<Item = &'a TransactionLog>>( id: &SnapshotId, iter: T, ) -> IcechunkResult<Self>
Trait Implementations§
Source§impl Clone for TransactionLog
impl Clone for TransactionLog
Source§impl Debug for TransactionLog
impl Debug for TransactionLog
Source§impl Default for TransactionLog
impl Default for TransactionLog
Source§impl PartialEq for TransactionLog
impl PartialEq for TransactionLog
impl StructuralPartialEq for TransactionLog
Auto Trait Implementations§
impl Freeze for TransactionLog
impl RefUnwindSafe for TransactionLog
impl Send for TransactionLog
impl Sync for TransactionLog
impl Unpin for TransactionLog
impl UnsafeUnpin for TransactionLog
impl UnwindSafe for TransactionLog
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> 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