pub struct Ready {
pub hard_state: Option<HardState>,
pub messages: Vec<(u64, AppendEntriesRequest)>,
pub vote_requests: Vec<(u64, RequestVoteRequest)>,
pub committed_entries: Vec<LogEntry>,
pub snapshots_needed: Vec<u64>,
}Expand description
Output actions produced by a tick or RPC handler.
The caller (Multi-Raft coordinator) is responsible for executing these via the transport and applying committed entries to the state machine.
Fields§
§hard_state: Option<HardState>Hard state to persist (if changed).
messages: Vec<(u64, AppendEntriesRequest)>Entries to send to specific peers (peer_id, request).
vote_requests: Vec<(u64, RequestVoteRequest)>Vote requests to send (peer_id, request).
committed_entries: Vec<LogEntry>Newly committed entries to apply to the state machine.
snapshots_needed: Vec<u64>Peers that need an InstallSnapshot RPC because their next_index falls behind the leader’s snapshot_index (log compacted).
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Ready
impl RefUnwindSafe for Ready
impl Send for Ready
impl Sync for Ready
impl Unpin for Ready
impl UnsafeUnpin for Ready
impl UnwindSafe for Ready
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
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> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.