struct PacemakerState {
timeouts: BTreeMap<ViewNumber, Instant>,
timeout_vote_collectors: ActiveCollectorPair<TimeoutVoteCollector>,
last_advance_view: Option<ViewNumber>,
}
Expand description
In-memory state of a Pacemaker
.
Fields§
§timeouts: BTreeMap<ViewNumber, Instant>
Mapping between current and future view numbers and the timeout assigned to each.
timeout_vote_collectors: ActiveCollectorPair<TimeoutVoteCollector>
TimeoutVoteCollector
s for the at-most two validator sets that are active in the current view.
last_advance_view: Option<ViewNumber>
The view in which this replica last broadcasted an AdvanceView
message.
Implementations§
source§impl PacemakerState
impl PacemakerState
sourcefn initialize(
config: &PacemakerConfiguration,
init_view: ViewNumber,
validator_set_state: &ValidatorSetState,
) -> Self
fn initialize( config: &PacemakerConfiguration, init_view: ViewNumber, validator_set_state: &ValidatorSetState, ) -> Self
Initializes a PacemakerState
upon starting the Pacemaker subprotocol.
sourcefn update_timeouts(
&mut self,
epoch_start_view: ViewNumber,
config: &PacemakerConfiguration,
)
fn update_timeouts( &mut self, epoch_start_view: ViewNumber, config: &PacemakerConfiguration, )
Update the PacemakerState
’s timeouts upon entering the epoch with the given epoch_start_view
.
sourcefn extend_epoch_change_view_timeout(
&mut self,
epoch_change_view: ViewNumber,
config: &PacemakerConfiguration,
)
fn extend_epoch_change_view_timeout( &mut self, epoch_change_view: ViewNumber, config: &PacemakerConfiguration, )
Extend the timeout of the epoch_change_view
by another config.max_view_time
.
§Preconditions
The caller must ensure that epoch_change_view
is actually an epoch-change view.
Auto Trait Implementations§
impl Freeze for PacemakerState
impl RefUnwindSafe for PacemakerState
impl Send for PacemakerState
impl Sync for PacemakerState
impl Unpin for PacemakerState
impl UnwindSafe for PacemakerState
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