Struct raftstore::store::SnapManager[][src]

pub struct SnapManager {
    core: SnapManagerCore,
    max_total_size: AtomicU64,
}

SnapManagerCore trace all current processing snapshots.

Fields

core: SnapManagerCoremax_total_size: AtomicU64

Implementations

impl SnapManager[src]

pub fn new<T: Into<String>>(path: T) -> Self[src]

pub fn init(&self) -> Result<()>[src]

pub fn list_idle_snap(&self) -> Result<Vec<(SnapKey, bool)>>[src]

pub fn get_temp_path_for_ingest(&self) -> String[src]

pub fn has_registered(&self, key: &SnapKey) -> bool[src]

pub fn get_snapshot_for_building<EK: KvEngine>(
    &self,
    key: &SnapKey
) -> RaftStoreResult<Box<dyn Snapshot<EK>>>
[src]

pub fn get_snapshot_for_gc(
    &self,
    key: &SnapKey,
    is_sending: bool
) -> RaftStoreResult<Box<dyn GenericSnapshot>>
[src]

pub fn get_snapshot_for_sending(
    &self,
    key: &SnapKey
) -> RaftStoreResult<Box<dyn GenericSnapshot>>
[src]

pub fn get_snapshot_for_receiving(
    &self,
    key: &SnapKey,
    data: &[u8]
) -> RaftStoreResult<Box<dyn GenericSnapshot>>
[src]

fn get_concrete_snapshot_for_applying(
    &self,
    key: &SnapKey
) -> RaftStoreResult<Box<Snap>>
[src]

pub fn get_snapshot_for_applying(
    &self,
    key: &SnapKey
) -> RaftStoreResult<Box<dyn GenericSnapshot>>
[src]

pub fn get_snapshot_for_applying_to_engine<EK: KvEngine>(
    &self,
    key: &SnapKey
) -> RaftStoreResult<Box<dyn Snapshot<EK>>>
[src]

pub fn get_total_snap_size(&self) -> Result<u64, Error>[src]

Get the approximate size of snap file exists in snap directory.

Return value is not guaranteed to be accurate.

NOTE: don’t call it in raftstore thread.

pub fn max_total_snap_size(&self) -> u64[src]

pub fn set_max_total_snap_size(&self, max_total_size: u64)[src]

pub fn set_speed_limit(&self, bytes_per_sec: f64)[src]

pub fn get_speed_limit(&self) -> f64[src]

pub fn register(&self, key: SnapKey, entry: SnapEntry)[src]

pub fn deregister(&self, key: &SnapKey, entry: &SnapEntry)[src]

pub fn stats(&self) -> SnapStats[src]

pub fn delete_snapshot(
    &self,
    key: &SnapKey,
    snap: &dyn GenericSnapshot,
    check_entry: bool
) -> bool
[src]

Trait Implementations

impl Clone for SnapManager[src]

Auto Trait Implementations

impl !RefUnwindSafe for SnapManager

impl Send for SnapManager

impl Sync for SnapManager

impl Unpin for SnapManager

impl !UnwindSafe for SnapManager

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<V, W> ConvertFrom<W> for V where
    W: ConvertTo<V>, 
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pointable for T[src]

type Init = T

The type for initializers.

impl<T> Pointable for T[src]

type Init = T

The type for initializers.

impl<T> Same<T> for T[src]

type Output = T

Should always be Self

impl<T> Sealed<T> for T where
    T: ?Sized
[src]

impl<T> SendSyncUnwindSafe for T where
    T: Send + Sync + UnwindSafe + ?Sized
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 
[src]