pub struct SimplexConfig<L> {Show 14 fields
pub elector: L,
pub mailbox_size: NonZeroUsize,
pub replay_buffer: NonZeroUsize,
pub write_buffer: NonZeroUsize,
pub page_cache_page_size: NonZeroU16,
pub page_cache_pages: NonZeroUsize,
pub leader_timeout: Duration,
pub certification_timeout: Duration,
pub timeout_retry: Duration,
pub fetch_timeout: Duration,
pub view_retention: ViewDelta,
pub skip: SkipPolicy,
pub track_historical_votes: bool,
pub forward: ForwardPolicy,
}Expand description
Simplex configuration applied to each epoch engine.
Fields§
§elector: LLeader election configuration.
mailbox_size: NonZeroUsizeMaximum number of messages to buffer on channels inside each consensus engine.
replay_buffer: NonZeroUsizeNumber of bytes to buffer when replaying consensus state during startup.
write_buffer: NonZeroUsizeNumber of bytes to buffer when writing consensus journal blobs.
page_cache_page_size: NonZeroU16Page size used by the consensus journal page cache.
page_cache_pages: NonZeroUsizeNumber of pages retained by the consensus journal page cache.
leader_timeout: DurationTime to wait for a leader proposal in a view.
certification_timeout: DurationTime to wait for certification progress before attempting to skip a view.
timeout_retry: DurationTime to wait before retrying a nullify broadcast while stuck in a view.
fetch_timeout: DurationTime to wait for a peer to respond to a resolver request.
view_retention: ViewDeltaNumber of views behind the finalized tip to retain validator activity.
skip: SkipPolicyPolicy governing whether nullify(v) may be broadcast before the normal round deadlines.
track_historical_votes: boolTrack individual votes after certification.
By default, full vote evidence is released when the corresponding certificate is constructed or received, making later conflict reporting and peer blocking best effort. Enabling this retains each recorded vote until its round is pruned, increasing memory usage.
forward: ForwardPolicyPolicy for proactively forwarding certified blocks.
Trait Implementations§
Source§impl<L: Clone> Clone for SimplexConfig<L>
impl<L: Clone> Clone for SimplexConfig<L>
Source§fn clone(&self) -> SimplexConfig<L>
fn clone(&self) -> SimplexConfig<L>
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl<L> Freeze for SimplexConfig<L>where
L: Freeze,
impl<L> RefUnwindSafe for SimplexConfig<L>where
L: RefUnwindSafe,
impl<L> Send for SimplexConfig<L>where
L: Send,
impl<L> Sync for SimplexConfig<L>where
L: Sync,
impl<L> Unpin for SimplexConfig<L>where
L: Unpin,
impl<L> UnsafeUnpin for SimplexConfig<L>where
L: UnsafeUnpin,
impl<L> UnwindSafe for SimplexConfig<L>where
L: UnwindSafe,
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
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<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
Source§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
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> ⓘ
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> ⓘ
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