pub struct Message {
pub message_type: MessageType,
pub from: NodeId,
pub to: NodeId,
pub term: u64,
pub payload: MessagePayload,
pub timestamp: u64,
}Expand description
A message in the Raft protocol.
Fields§
§message_type: MessageType§from: NodeId§to: NodeId§term: u64§payload: MessagePayload§timestamp: u64Implementations§
Source§impl Message
impl Message
Sourcepub fn new(
message_type: MessageType,
from: NodeId,
to: NodeId,
term: u64,
payload: MessagePayload,
) -> Self
pub fn new( message_type: MessageType, from: NodeId, to: NodeId, term: u64, payload: MessagePayload, ) -> Self
Create a new message.
Sourcepub fn vote_request(from: NodeId, to: NodeId, request: VoteRequest) -> Self
pub fn vote_request(from: NodeId, to: NodeId, request: VoteRequest) -> Self
Create a vote request message.
Sourcepub fn vote_response(from: NodeId, to: NodeId, response: VoteResponse) -> Self
pub fn vote_response(from: NodeId, to: NodeId, response: VoteResponse) -> Self
Create a vote response message.
Sourcepub fn append_entries(
from: NodeId,
to: NodeId,
request: AppendEntriesRequest,
) -> Self
pub fn append_entries( from: NodeId, to: NodeId, request: AppendEntriesRequest, ) -> Self
Create an append entries message.
Sourcepub fn append_entries_response(
from: NodeId,
to: NodeId,
response: AppendEntriesResponse,
) -> Self
pub fn append_entries_response( from: NodeId, to: NodeId, response: AppendEntriesResponse, ) -> Self
Create an append entries response message.
Sourcepub fn from_bytes(bytes: &[u8]) -> Option<Self>
pub fn from_bytes(bytes: &[u8]) -> Option<Self>
Deserialize a message.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Message
impl<'de> Deserialize<'de> for Message
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 Message
impl RefUnwindSafe for Message
impl Send for Message
impl Sync for Message
impl Unpin for Message
impl UnsafeUnpin for Message
impl UnwindSafe for Message
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