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,
pub fencing_token: Option<FencingToken>,
}Expand description
Request to append entries (heartbeat or log replication)
Fields§
§term: TermLeader’s term
leader_id: NodeIdLeader’s ID (for redirecting clients)
prev_log_index: LogIndexIndex of log entry immediately preceding new ones
prev_log_term: TermTerm of prev_log_index entry
entries: Vec<LogEntry>Log entries to store (empty for heartbeat)
leader_commit: LogIndexLeader’s commit index
fencing_token: Option<FencingToken>Optional fencing token issued by the leader (None for legacy / non-leaders)
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 append entries request
Sourcepub fn with_fencing_token(
term: Term,
leader_id: NodeId,
prev_log_index: LogIndex,
prev_log_term: Term,
entries: Vec<LogEntry>,
leader_commit: LogIndex,
token: FencingToken,
) -> Self
pub fn with_fencing_token( term: Term, leader_id: NodeId, prev_log_index: LogIndex, prev_log_term: Term, entries: Vec<LogEntry>, leader_commit: LogIndex, token: FencingToken, ) -> Self
Create an append entries request with a fencing token attached
Sourcepub fn heartbeat(
term: Term,
leader_id: NodeId,
prev_log_index: LogIndex,
prev_log_term: Term,
leader_commit: LogIndex,
) -> Self
pub fn heartbeat( term: Term, leader_id: NodeId, prev_log_index: LogIndex, prev_log_term: Term, leader_commit: LogIndex, ) -> Self
Create a heartbeat (empty entries)
Sourcepub fn is_heartbeat(&self) -> bool
pub fn is_heartbeat(&self) -> bool
Check if this is a heartbeat (no entries)
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 PartialEq for AppendEntriesRequest
impl PartialEq for AppendEntriesRequest
impl Eq for AppendEntriesRequest
impl StructuralPartialEq for AppendEntriesRequest
Auto Trait Implementations§
impl Freeze for AppendEntriesRequest
impl RefUnwindSafe for AppendEntriesRequest
impl Send for AppendEntriesRequest
impl Sync for AppendEntriesRequest
impl Unpin for AppendEntriesRequest
impl UnsafeUnpin 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