pub enum RaftMessage {
VoteRequest {
term: u64,
candidate_id: String,
last_log_index: u64,
last_log_term: u64,
},
VoteResponse {
term: u64,
vote_granted: bool,
},
AppendEntries {
term: u64,
_leader_id: String,
prev_log_index: u64,
prev_log_term: u64,
entries: Vec<RaftLogEntry>,
leader_commit: u64,
},
AppendResponse {
term: u64,
success: bool,
match_index: u64,
conflict_term: Option<u64>,
conflict_index: Option<u64>,
},
InstallSnapshot {
term: u64,
_leader_id: String,
last_included_index: u64,
last_included_term: u64,
offset: u64,
data: Vec<u8>,
done: bool,
},
ClientRequest {
request_id: String,
entry: LogEntry,
response_tx: Sender<Result<(), OxirsError>>,
},
}Expand description
Raft message types
Variants§
VoteRequest
Request vote
VoteResponse
Vote response
AppendEntries
Append entries (heartbeat/replication)
Fields
§
entries: Vec<RaftLogEntry>AppendResponse
Append entries response
Fields
InstallSnapshot
Install snapshot
Fields
ClientRequest
Client request
Trait Implementations§
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> 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