pub struct WalSegmentManager { /* private fields */ }Expand description
WAL Segment Manager
Handles WAL segmentation, rotation, and cleanup.
Implementations§
Source§impl WalSegmentManager
impl WalSegmentManager
Sourcepub fn new(config: SegmentConfig) -> Result<Self>
pub fn new(config: SegmentConfig) -> Result<Self>
Create a new WAL segment manager
Sourcepub fn create_checkpoint(
&self,
memtable_checksum: u64,
entry_count: u64,
) -> Result<CheckpointRecord>
pub fn create_checkpoint( &self, memtable_checksum: u64, entry_count: u64, ) -> Result<CheckpointRecord>
Create a fuzzy checkpoint
This captures the current LSN and can be used to cleanup old segments.
Sourcepub fn cleanup_old_segments(&self) -> Result<usize>
pub fn cleanup_old_segments(&self) -> Result<usize>
Cleanup old segments that are no longer needed
Sourcepub fn stats(&self) -> SegmentStats
pub fn stats(&self) -> SegmentStats
Get statistics
Sourcepub fn recovery_iterator(&self, from_lsn: u64) -> RecoveryIterator<'_>
pub fn recovery_iterator(&self, from_lsn: u64) -> RecoveryIterator<'_>
Iterator for recovery
Auto Trait Implementations§
impl !Freeze for WalSegmentManager
impl !RefUnwindSafe for WalSegmentManager
impl Send for WalSegmentManager
impl Sync for WalSegmentManager
impl Unpin for WalSegmentManager
impl UnsafeUnpin for WalSegmentManager
impl UnwindSafe for WalSegmentManager
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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