pub enum DurabilityLevel {
Durable,
GroupCommit {
max_batch: usize,
flush_interval: Duration,
},
Periodic {
sync_interval: Duration,
accept_data_loss_risk: bool,
},
NoSync {
accept_data_loss_risk: bool,
},
}Expand description
Durability level for write operations
Variants§
Durable
Every commit is immediately fsync’d (safest, slowest) Guarantees: commit returns ⇒ data is on stable storage
GroupCommit
Commits are batched and fsync’d together (production default) Guarantees: commit returns ⇒ data will be on stable storage within flush_interval Trade-off: Up to flush_interval ms of data loss on crash
Fields
Periodic
Fsync on timer (UNSAFE - data loss possible) WARNING: Up to sync_interval of committed transactions can be lost
Fields
NoSync
No fsync (UNSAFE - testing only) WARNING: ANY committed data can be lost on crash
Implementations§
Source§impl DurabilityLevel
impl DurabilityLevel
Sourcepub fn is_production_safe(&self) -> bool
pub fn is_production_safe(&self) -> bool
Check if this level is safe for production
Sourcepub fn requires_risk_acceptance(&self) -> bool
pub fn requires_risk_acceptance(&self) -> bool
Check if explicit risk acceptance is required
Sourcepub fn default_production() -> Self
pub fn default_production() -> Self
Get the default production-safe configuration
Trait Implementations§
Source§impl Clone for DurabilityLevel
impl Clone for DurabilityLevel
Source§fn clone(&self) -> DurabilityLevel
fn clone(&self) -> DurabilityLevel
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 moreimpl Copy for DurabilityLevel
Source§impl Debug for DurabilityLevel
impl Debug for DurabilityLevel
Source§impl Default for DurabilityLevel
impl Default for DurabilityLevel
Source§impl Display for DurabilityLevel
impl Display for DurabilityLevel
impl Eq for DurabilityLevel
Source§impl PartialEq for DurabilityLevel
impl PartialEq for DurabilityLevel
Source§fn eq(&self, other: &DurabilityLevel) -> bool
fn eq(&self, other: &DurabilityLevel) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for DurabilityLevel
Auto Trait Implementations§
impl Freeze for DurabilityLevel
impl RefUnwindSafe for DurabilityLevel
impl Send for DurabilityLevel
impl Sync for DurabilityLevel
impl Unpin for DurabilityLevel
impl UnsafeUnpin for DurabilityLevel
impl UnwindSafe for DurabilityLevel
Blanket Implementations§
impl<T> Allocation for T
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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