sui_indexer_alt_framework_store_traits

Struct PrunerWatermark

Source
pub struct PrunerWatermark {
    pub wait_for_ms: i64,
    pub reader_lo: u64,
    pub pruner_hi: u64,
}
Expand description

A watermark that represents the bounds for the region that the pruner is allowed to prune, and the time in milliseconds the pruner must wait before it can begin pruning data.

Fields§

§wait_for_ms: i64

The remaining time in milliseconds that the pruner must wait before it can begin pruning.

This is calculated by finding the difference between the time when it becomes safe to prune and the current time: (pruner_timestamp + delay) - current_time.

The pruner will wait for this duration before beginning to delete data if it is positive. When this value is zero or negative, it means the waiting period has already passed and pruning can begin immediately.

§reader_lo: u64

The pruner can delete up to this checkpoint (exclusive).

§pruner_hi: u64

The pruner has already deleted up to this checkpoint (exclusive), so can continue from this point.

Implementations§

Source§

impl PrunerWatermark

Source

pub fn wait_for(&self) -> Option<Duration>

Returns the duration that the pruner must wait before it can begin pruning data.

Source

pub fn next_chunk(&mut self, size: u64) -> Option<(u64, u64)>

The next chunk of checkpoints that the pruner should work on, to advance the watermark. If no more checkpoints to prune, returns None. Otherwise, returns a tuple (from, to_exclusive) where from is inclusive and to_exclusive is exclusive. Advance the watermark as well.

Trait Implementations§

Source§

impl Clone for PrunerWatermark

Source§

fn clone(&self) -> PrunerWatermark

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for PrunerWatermark

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for PrunerWatermark

Source§

fn default() -> PrunerWatermark

Returns the “default value” for a type. Read more
Source§

impl Copy for PrunerWatermark

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.