Struct agreed::config::ConfigBuilder [−][src]
pub struct ConfigBuilder { pub cluster_name: String, pub election_timeout_min: Option<u64>, pub election_timeout_max: Option<u64>, pub heartbeat_interval: Option<u64>, pub max_payload_entries: Option<u64>, pub replication_lag_threshold: Option<u64>, pub snapshot_policy: Option<SnapshotPolicy>, pub snapshot_max_chunk_size: Option<u64>, pub catch_up_cancellation_policy: Option<CatchUpCancellationPolicy>, }
Expand description
A configuration builder to ensure that runtime config is valid.
For election timeout config & heartbeat interval configuration, it is recommended that §5.6 of the Raft spec is considered in order to set the appropriate values.
Fields
cluster_name: String
The application specific name of this Raft cluster.
election_timeout_min: Option<u64>
The minimum election timeout, in milliseconds.
election_timeout_max: Option<u64>
The maximum election timeout, in milliseconds.
heartbeat_interval: Option<u64>
The interval at which leaders will send heartbeats to followers to avoid election timeout.
max_payload_entries: Option<u64>
The maximum number of entries per payload allowed to be transmitted during replication.
replication_lag_threshold: Option<u64>
The distance behind in log replication a follower must fall before it is considered “lagging”.
snapshot_policy: Option<SnapshotPolicy>
The snapshot policy.
snapshot_max_chunk_size: Option<u64>
The maximum snapshot chunk size.
catch_up_cancellation_policy: Option<CatchUpCancellationPolicy>
The catch up cancellation policy.
Implementations
impl ConfigBuilder
[src]
impl ConfigBuilder
[src]pub fn election_timeout_min(self, val: u64) -> Self
[src]
pub fn election_timeout_min(self, val: u64) -> Self
[src]Set the desired value for election_timeout_min
.
pub fn election_timeout_max(self, val: u64) -> Self
[src]
pub fn election_timeout_max(self, val: u64) -> Self
[src]Set the desired value for election_timeout_max
.
pub fn heartbeat_interval(self, val: u64) -> Self
[src]
pub fn heartbeat_interval(self, val: u64) -> Self
[src]Set the desired value for heartbeat_interval
.
pub fn max_payload_entries(self, val: u64) -> Self
[src]
pub fn max_payload_entries(self, val: u64) -> Self
[src]Set the desired value for max_payload_entries
.
pub fn replication_lag_threshold(self, val: u64) -> Self
[src]
pub fn replication_lag_threshold(self, val: u64) -> Self
[src]Set the desired value for replication_lag_threshold
.
pub fn snapshot_policy(self, val: SnapshotPolicy) -> Self
[src]
pub fn snapshot_policy(self, val: SnapshotPolicy) -> Self
[src]Set the desired value for snapshot_policy
.
pub fn snapshot_max_chunk_size(self, val: u64) -> Self
[src]
pub fn snapshot_max_chunk_size(self, val: u64) -> Self
[src]Set the desired value for snapshot_max_chunk_size
.
pub fn catch_up_cancellation_policy(
self,
val: CatchUpCancellationPolicy
) -> Self
[src]
pub fn catch_up_cancellation_policy(
self,
val: CatchUpCancellationPolicy
) -> Self
[src]Set the desired value for catch_up_cancellation_policy
.
pub fn validate(self) -> Result<Config, ConfigError>
[src]
pub fn validate(self) -> Result<Config, ConfigError>
[src]Validate the state of this builder and produce a new Config
instance if valid.
Trait Implementations
impl Debug for ConfigBuilder
[src]
impl Debug for ConfigBuilder
[src]impl<'de> Deserialize<'de> for ConfigBuilder
[src]
impl<'de> Deserialize<'de> for ConfigBuilder
[src]fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]Deserialize this value from the given Serde deserializer. Read more
impl Serialize for ConfigBuilder
[src]
impl Serialize for ConfigBuilder
[src]Auto Trait Implementations
impl RefUnwindSafe for ConfigBuilder
impl Send for ConfigBuilder
impl Sync for ConfigBuilder
impl Unpin for ConfigBuilder
impl UnwindSafe for ConfigBuilder
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<T> Instrument for T
[src]
impl<T> Instrument for T
[src]fn instrument(self, span: Span) -> Instrumented<Self>
[src]
fn instrument(self, span: Span) -> Instrumented<Self>
[src]Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
fn in_current_span(self) -> Instrumented<Self>
[src]
fn in_current_span(self) -> Instrumented<Self>
[src]impl<T> Instrument for T
[src]
impl<T> Instrument for T
[src]fn instrument(self, span: Span) -> Instrumented<Self>
[src]
fn instrument(self, span: Span) -> Instrumented<Self>
[src]Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
fn in_current_span(self) -> Instrumented<Self>
[src]
fn in_current_span(self) -> Instrumented<Self>
[src]impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
pub fn vzip(self) -> V
impl<T> WithSubscriber for T
[src]
impl<T> WithSubscriber for T
[src]fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
[src]
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
[src]Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
fn with_current_subscriber(self) -> WithDispatch<Self>
[src]
fn with_current_subscriber(self) -> WithDispatch<Self>
[src]Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]
T: for<'de> Deserialize<'de>,