pub struct TimeoutParams {
pub propose: Option<Duration>,
pub propose_delta: Option<Duration>,
pub vote: Option<Duration>,
pub vote_delta: Option<Duration>,
}Expand description
TimeoutParams configure the timeouts for the steps of the Tendermint consensus algorithm.
Fields§
§propose: Option<Duration>These fields configure the timeouts for the propose step of the Tendermint consensus algorithm: propose is the initial timeout and propose_delta determines how much the timeout grows in subsequent rounds. For the first round, this propose timeout is used and for every subsequent round, the timeout grows by propose_delta.
For example: With propose = 10ms, propose_delta = 5ms, the first round’s propose phase timeout would be 10ms, the second round’s would be 15ms, the third 20ms and so on.
If a node waiting for a proposal message does not receive one matching its current height and round before this timeout, the node will issue a nil prevote for the round and advance to the next step.
propose_delta: Option<Duration>§vote: Option<Duration>vote along with vote_delta configure the timeout for both of the prevote and precommit steps of the Tendermint consensus algorithm.
These parameters influence the vote step timeouts in the the same way that the propose and propose_delta parameters do to the proposal step.
The vote timeout does not begin until a quorum of votes has been received. Once a quorum of votes has been seen and this timeout elapses, Tendermint will procced to the next step of the consensus algorithm. If Tendermint receives all of the remaining votes before the end of the timeout, it will proceed to the next step immediately.
vote_delta: Option<Duration>Trait Implementations§
Source§impl Clone for TimeoutParams
impl Clone for TimeoutParams
Source§fn clone(&self) -> TimeoutParams
fn clone(&self) -> TimeoutParams
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for TimeoutParams
impl Debug for TimeoutParams
Source§impl Default for TimeoutParams
impl Default for TimeoutParams
Source§impl<'de> Deserialize<'de> for TimeoutParams
impl<'de> Deserialize<'de> for TimeoutParams
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>,
Source§impl Hash for TimeoutParams
impl Hash for TimeoutParams
Source§impl Message for TimeoutParams
impl Message for TimeoutParams
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self. Read moreSource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self.Source§impl PartialEq for TimeoutParams
impl PartialEq for TimeoutParams
Source§impl Serialize for TimeoutParams
impl Serialize for TimeoutParams
impl Copy for TimeoutParams
impl Eq for TimeoutParams
impl StructuralPartialEq for TimeoutParams
Auto Trait Implementations§
impl Freeze for TimeoutParams
impl RefUnwindSafe for TimeoutParams
impl Send for TimeoutParams
impl Sync for TimeoutParams
impl Unpin for TimeoutParams
impl UnwindSafe for TimeoutParams
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Layered].