pub enum RaftMessage {
AppendEntries {
term: u64,
leader_id: RaftNodeId,
prev_log_index: u64,
prev_log_term: u64,
entries: Vec<Vec<u8>>,
leader_commit: u64,
},
AppendEntriesResponse {
term: u64,
success: bool,
match_index: Option<u64>,
},
RequestVote {
term: u64,
candidate_id: RaftNodeId,
last_log_index: u64,
last_log_term: u64,
},
VoteResponse {
term: u64,
vote_granted: bool,
},
InstallSnapshot {
term: u64,
leader_id: RaftNodeId,
last_included_index: u64,
last_included_term: u64,
data: Vec<u8>,
},
SnapshotResponse {
term: u64,
},
}Expand description
Network message types between Raft nodes
Variants§
AppendEntries
Append entries (heartbeat or log replication)
Fields
§
leader_id: RaftNodeIdLeader’s node ID
AppendEntriesResponse
Append entries response
Fields
RequestVote
Request vote for leader election
Fields
§
candidate_id: RaftNodeIdCandidate requesting vote
VoteResponse
Vote response
InstallSnapshot
Install snapshot
Fields
§
leader_id: RaftNodeIdLeader’s node ID
SnapshotResponse
Snapshot response
Trait Implementations§
Source§impl Clone for RaftMessage
impl Clone for RaftMessage
Source§fn clone(&self) -> RaftMessage
fn clone(&self) -> RaftMessage
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for RaftMessage
impl Debug for RaftMessage
Source§impl<'de> Deserialize<'de> for RaftMessage
impl<'de> Deserialize<'de> for RaftMessage
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>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for RaftMessage
impl RefUnwindSafe for RaftMessage
impl Send for RaftMessage
impl Sync for RaftMessage
impl Unpin for RaftMessage
impl UnsafeUnpin for RaftMessage
impl UnwindSafe for RaftMessage
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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> 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>
Converts
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>
Converts
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