pub struct InMemoryReplicationLog { /* private fields */ }Expand description
In-memory replication log for local sync scenarios.
Implementations§
Source§impl InMemoryReplicationLog
impl InMemoryReplicationLog
Sourcepub fn append_with_sequence(
&mut self,
record: Vec<u8>,
sequence: u64,
) -> SyncResult<usize>
pub fn append_with_sequence( &mut self, record: Vec<u8>, sequence: u64, ) -> SyncResult<usize>
Idempotently appends a record at a source sequence.
Sourcepub fn last_index(&self) -> usize
pub fn last_index(&self) -> usize
Returns the one-based final log index, or zero when empty.
Sourcepub fn contains_sequence(&self, sequence: u64) -> bool
pub fn contains_sequence(&self, sequence: u64) -> bool
Reports whether a source sequence is present.
Sourcepub fn restore_snapshot_owned(
&mut self,
snapshot: ReplicationSnapshot,
) -> SyncResult<()>
pub fn restore_snapshot_owned( &mut self, snapshot: ReplicationSnapshot, ) -> SyncResult<()>
Restores a snapshot by moving its payload allocations into the log.
This consuming variant avoids retaining the source snapshot and the
destination record payloads at the same time. Use the trait method
ReplicationLog::restore_snapshot when the caller must keep a
borrowed snapshot for compatibility.
Trait Implementations§
Source§impl Clone for InMemoryReplicationLog
impl Clone for InMemoryReplicationLog
Source§fn clone(&self) -> InMemoryReplicationLog
fn clone(&self) -> InMemoryReplicationLog
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for InMemoryReplicationLog
impl Debug for InMemoryReplicationLog
Source§impl Default for InMemoryReplicationLog
impl Default for InMemoryReplicationLog
Source§fn default() -> InMemoryReplicationLog
fn default() -> InMemoryReplicationLog
Returns the “default value” for a type. Read more
impl Eq for InMemoryReplicationLog
Source§impl PartialEq for InMemoryReplicationLog
impl PartialEq for InMemoryReplicationLog
Source§impl ReplicationLog for InMemoryReplicationLog
impl ReplicationLog for InMemoryReplicationLog
Source§fn append(&mut self, record: Vec<u8>) -> SyncResult<usize>
fn append(&mut self, record: Vec<u8>) -> SyncResult<usize>
Appends an unsequenced record and returns its one-based log index.
Source§fn append_with_sequence(
&mut self,
record: Vec<u8>,
sequence: u64,
) -> SyncResult<usize>
fn append_with_sequence( &mut self, record: Vec<u8>, sequence: u64, ) -> SyncResult<usize>
Idempotently appends
record at a source sequence.Source§fn event_at_sequence(&self, sequence: u64) -> SyncResult<Option<Vec<u8>>>
fn event_at_sequence(&self, sequence: u64) -> SyncResult<Option<Vec<u8>>>
Returns the payload at a source sequence when sequence lookup is supported.
Source§fn events_since(&self, index: usize) -> SyncResult<Vec<Vec<u8>>>
fn events_since(&self, index: usize) -> SyncResult<Vec<Vec<u8>>>
Returns payloads after the supplied zero-based log offset.
Source§fn events_page(
&self,
index: usize,
max_records: usize,
max_bytes: usize,
) -> SyncResult<Vec<Vec<u8>>>
fn events_page( &self, index: usize, max_records: usize, max_bytes: usize, ) -> SyncResult<Vec<Vec<u8>>>
Returns one payload page with bounded record count and payload bytes. Read more
Source§fn len(&self) -> SyncResult<usize>
fn len(&self) -> SyncResult<usize>
Returns the number of records in the log.
Source§fn last_index(&self) -> SyncResult<usize>
fn last_index(&self) -> SyncResult<usize>
Returns the one-based final log index, or zero for an empty log.
Source§fn is_empty(&self) -> SyncResult<bool>
fn is_empty(&self) -> SyncResult<bool>
Reports whether the log contains no records.
Source§fn create_snapshot(&self) -> SyncResult<ReplicationSnapshot>
fn create_snapshot(&self) -> SyncResult<ReplicationSnapshot>
Creates a validated portable snapshot when supported.
Source§fn restore_snapshot(&mut self, snapshot: &ReplicationSnapshot) -> SyncResult<()>
fn restore_snapshot(&mut self, snapshot: &ReplicationSnapshot) -> SyncResult<()>
Atomically replaces log contents from a validated snapshot when supported.
impl StructuralPartialEq for InMemoryReplicationLog
Auto Trait Implementations§
impl Freeze for InMemoryReplicationLog
impl RefUnwindSafe for InMemoryReplicationLog
impl Send for InMemoryReplicationLog
impl Sync for InMemoryReplicationLog
impl Unpin for InMemoryReplicationLog
impl UnsafeUnpin for InMemoryReplicationLog
impl UnwindSafe for InMemoryReplicationLog
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