Struct raftstore::store::snap::SnapManager [−][src]
SnapManagerCore
trace all current processing snapshots.
Fields
core: SnapManagerCore
max_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]
&self,
key: &SnapKey
) -> RaftStoreResult<Box<dyn Snapshot<EK>>>
pub fn get_snapshot_for_gc(
&self,
key: &SnapKey,
is_sending: bool
) -> RaftStoreResult<Box<dyn GenericSnapshot>>
[src]
&self,
key: &SnapKey,
is_sending: bool
) -> RaftStoreResult<Box<dyn GenericSnapshot>>
pub fn get_snapshot_for_sending(
&self,
key: &SnapKey
) -> RaftStoreResult<Box<dyn GenericSnapshot>>
[src]
&self,
key: &SnapKey
) -> RaftStoreResult<Box<dyn GenericSnapshot>>
pub fn get_snapshot_for_receiving(
&self,
key: &SnapKey,
data: &[u8]
) -> RaftStoreResult<Box<dyn GenericSnapshot>>
[src]
&self,
key: &SnapKey,
data: &[u8]
) -> RaftStoreResult<Box<dyn GenericSnapshot>>
fn get_concrete_snapshot_for_applying(
&self,
key: &SnapKey
) -> RaftStoreResult<Box<Snap>>
[src]
&self,
key: &SnapKey
) -> RaftStoreResult<Box<Snap>>
pub fn get_snapshot_for_applying(
&self,
key: &SnapKey
) -> RaftStoreResult<Box<dyn GenericSnapshot>>
[src]
&self,
key: &SnapKey
) -> RaftStoreResult<Box<dyn GenericSnapshot>>
pub fn get_snapshot_for_applying_to_engine<EK: KvEngine>(
&self,
key: &SnapKey
) -> RaftStoreResult<Box<dyn Snapshot<EK>>>
[src]
&self,
key: &SnapKey
) -> RaftStoreResult<Box<dyn Snapshot<EK>>>
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]
&self,
key: &SnapKey,
snap: &dyn GenericSnapshot,
check_entry: bool
) -> bool
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][+]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
impl<V, W> ConvertFrom<W> for V where
W: ConvertTo<V>,
[src][+]
W: ConvertTo<V>,
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][+]
U: From<T>,
impl<T> Pointable for T
[src][+]
impl<T> Pointable for T
[src][+]
impl<T> Same<T> for T
[src]
type Output = T
Should always be Self
impl<T> Sealed<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> SendSyncUnwindSafe for T where
T: Send + Sync + UnwindSafe + ?Sized,
[src]
T: Send + Sync + UnwindSafe + ?Sized,
impl<T> ToOwned for T where
T: Clone,
[src][+]
T: Clone,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src][+]
U: Into<T>,
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src][+]
U: TryFrom<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
[src][+]
V: MultiLane<T>,