pub struct AppendEntriesRequest {
pub term: Term,
pub leader_id: NodeId,
pub prev_log_index: LogIndex,
pub prev_log_term: Term,
pub entries: Vec<LogEntry>,
pub leader_commit: LogIndex,
}Expand description
AppendEntries RPC request
Invoked by leader to replicate log entries; also used as heartbeat
Fields§
§term: TermLeader’s term
leader_id: NodeIdLeader’s ID (so followers can redirect clients)
prev_log_index: LogIndexIndex of log entry immediately preceding new ones
prev_log_term: TermTerm of prevLogIndex entry
entries: Vec<LogEntry>Log entries to store (empty for heartbeat)
leader_commit: LogIndexLeader’s commitIndex
Implementations§
Source§impl AppendEntriesRequest
impl AppendEntriesRequest
Sourcepub fn new(
term: Term,
leader_id: NodeId,
prev_log_index: LogIndex,
prev_log_term: Term,
entries: Vec<LogEntry>,
leader_commit: LogIndex,
) -> Self
pub fn new( term: Term, leader_id: NodeId, prev_log_index: LogIndex, prev_log_term: Term, entries: Vec<LogEntry>, leader_commit: LogIndex, ) -> Self
Create a new AppendEntries request
Sourcepub fn heartbeat(term: Term, leader_id: NodeId, leader_commit: LogIndex) -> Self
pub fn heartbeat(term: Term, leader_id: NodeId, leader_commit: LogIndex) -> Self
Create a heartbeat (AppendEntries with no entries)
Sourcepub fn is_heartbeat(&self) -> bool
pub fn is_heartbeat(&self) -> bool
Check if this is a heartbeat message
Sourcepub fn from_bytes(bytes: &[u8]) -> Result<Self, DecodeError>
pub fn from_bytes(bytes: &[u8]) -> Result<Self, DecodeError>
Deserialize from bytes
Trait Implementations§
Source§impl Clone for AppendEntriesRequest
impl Clone for AppendEntriesRequest
Source§fn clone(&self) -> AppendEntriesRequest
fn clone(&self) -> AppendEntriesRequest
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 AppendEntriesRequest
impl Debug for AppendEntriesRequest
Source§impl<'de> Deserialize<'de> for AppendEntriesRequest
impl<'de> Deserialize<'de> for AppendEntriesRequest
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 AppendEntriesRequest
impl RefUnwindSafe for AppendEntriesRequest
impl Send for AppendEntriesRequest
impl Sync for AppendEntriesRequest
impl Unpin for AppendEntriesRequest
impl UnwindSafe for AppendEntriesRequest
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