pub enum ForwardPolicy {
Disabled,
SilentVoters,
SilentLeader,
}Expand description
Controls whether and how the engine proactively forwards blocks when entering the next view.
Forwarding is a best-effort liveness aid. When enabled, the batcher broadcasts on entering the next view for a proposal that is finalized, or notarized without a failed certification. Targets are chosen from votes observed locally, so a certificate signer whose vote never reached us still counts as silent.
Variants§
Disabled
Do nothing when a proposal becomes eligible for forwarding.
SilentVoters
Forward the block to all participants whose matching vote was not observed locally.
To only send to the leader of the newly entered view, see ForwardPolicy::SilentLeader.
SilentLeader
Forward the block to the leader of the newly entered view if the leader’s matching vote was not observed locally.
To forward to all such participants, see ForwardPolicy::SilentVoters.
Implementations§
Source§impl ForwardPolicy
impl ForwardPolicy
Sourcepub const fn is_enabled(&self) -> bool
pub const fn is_enabled(&self) -> bool
Returns true if the policy is enabled.
Trait Implementations§
Source§impl Clone for ForwardPolicy
impl Clone for ForwardPolicy
Source§fn clone(&self) -> ForwardPolicy
fn clone(&self) -> ForwardPolicy
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for ForwardPolicy
Auto Trait Implementations§
impl Freeze for ForwardPolicy
impl RefUnwindSafe for ForwardPolicy
impl Send for ForwardPolicy
impl Sync for ForwardPolicy
impl Unpin for ForwardPolicy
impl UnsafeUnpin for ForwardPolicy
impl UnwindSafe for ForwardPolicy
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