pub struct CommitStore { /* private fields */ }Implementations§
Source§impl CommitStore
impl CommitStore
pub fn new() -> Self
pub fn with_close_threshold(threshold: ByteSize) -> Self
pub fn estimated_current_count(&self, table: EntryKind) -> Result<u64>
pub fn list_all_entry_kinds(&self) -> Result<Vec<EntryKind>>
pub fn list_entry_kinds_by_oldest_pending(&self) -> Result<Vec<EntryKind>>
pub fn oldest_pending_for(&self, kind: EntryKind) -> Option<CommitVersion>
pub fn current_resident_bytes(&self) -> ByteSize
pub fn historical_resident_bytes(&self) -> ByteSize
pub fn oldest_pending_version(&self) -> Option<CommitVersion>
pub fn collect_evictable_below( &self, table: EntryKind, cutoff: CommitVersion, budget: ByteSize, ) -> (Vec<(EncodedKey, CommitVersion, Option<CowVec<u8>>)>, Vec<EvictedVersion>, ByteSize, bool)
Source§impl CommitStore
impl CommitStore
pub fn get( &self, table: EntryKind, key: &[u8], version: CommitVersion, ) -> Result<VersionedGetResult>
pub fn contains( &self, table: EntryKind, key: &[u8], version: CommitVersion, ) -> Result<bool>
pub fn set(&self, version: CommitVersion, batches: TierBatch) -> Result<()>
pub fn range_next( &self, table: EntryKind, cursor: &mut RangeCursor, start: Bound<&[u8]>, end: Bound<&[u8]>, scope: MultiVersionScope, batch_size: usize, ) -> Result<RangeBatch>
pub fn range_next_into( &self, table: EntryKind, cursor: &mut RangeCursor, start: Bound<&[u8]>, end: Bound<&[u8]>, scope: MultiVersionScope, batch_size: usize, entries: &mut Vec<RawEntry>, ) -> Result<bool>
pub fn range_rev_next( &self, table: EntryKind, cursor: &mut RangeCursor, start: Bound<&[u8]>, end: Bound<&[u8]>, scope: MultiVersionScope, batch_size: usize, ) -> Result<RangeBatch>
pub fn ensure_table(&self, table: EntryKind) -> Result<()>
pub fn clear_table(&self, table: EntryKind) -> Result<()>
Source§impl CommitStore
impl CommitStore
pub fn compact( &self, batches: HashMap<EntryKind, Vec<(EncodedKey, CommitVersion)>>, ) -> Result<Vec<EvictedVersion>>
pub fn get_all_versions( &self, table: EntryKind, key: &[u8], ) -> Result<Vec<(CommitVersion, Option<CowVec<u8>>)>>
pub fn sweep_historical_below( &self, table: EntryKind, cutoff: CommitVersion, batch_size: usize, ) -> Result<HistoricalSweep>
Source§impl CommitStore
impl CommitStore
pub fn metrics(&self) -> MultiCommitMetrics
Trait Implementations§
Source§impl Clone for CommitStore
impl Clone for CommitStore
Source§fn clone(&self) -> CommitStore
fn clone(&self) -> CommitStore
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 Default for CommitStore
impl Default for CommitStore
Source§impl MetricsCollector for CommitStore
impl MetricsCollector for CommitStore
fn collect(&self, out: &mut Vec<MetricsSample>)
Auto Trait Implementations§
impl !RefUnwindSafe for CommitStore
impl !UnwindSafe for CommitStore
impl Freeze for CommitStore
impl Send for CommitStore
impl Sync for CommitStore
impl Unpin for CommitStore
impl UnsafeUnpin for CommitStore
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