pub struct PersistenceConfig {
pub strategy: PersistenceStrategy,
pub flush_policy: FlushPolicy,
pub max_buffered_entries: usize,
}
Expand description
Configuration parameters for log persistence behavior
Fields§
§strategy: PersistenceStrategy
Strategy for persisting Raft logs
This controls the trade-off between durability guarantees and performance characteristics. The choice impacts both write throughput and recovery behavior after node failures.
flush_policy: FlushPolicy
Flush policy for asynchronous strategies
This controls when log entries are flushed to disk. The choice impacts write performance and durability guarantees.
max_buffered_entries: usize
Maximum number of in-memory log entries to buffer when using async strategies
This acts as a safety valve to prevent memory exhaustion during periods of high write throughput or when disk persistence is slow.
Trait Implementations§
Source§impl Clone for PersistenceConfig
impl Clone for PersistenceConfig
Source§fn clone(&self) -> PersistenceConfig
fn clone(&self) -> PersistenceConfig
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for PersistenceConfig
impl Debug for PersistenceConfig
Source§impl Default for PersistenceConfig
impl Default for PersistenceConfig
Source§impl<'de> Deserialize<'de> for PersistenceConfig
impl<'de> Deserialize<'de> for PersistenceConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for PersistenceConfig
impl RefUnwindSafe for PersistenceConfig
impl Send for PersistenceConfig
impl Sync for PersistenceConfig
impl Unpin for PersistenceConfig
impl UnwindSafe for PersistenceConfig
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T
in a tonic::Request