pub struct Envelope<B> {
pub src: String,
pub dest: String,
pub body: B,
}
Expand description
A formal structure for any message sent between nodes or clients in a maelstrom orchestrated distributed system.
Fields§
§src: String
An identifier for the sender of the message.
dest: String
An identifier for the receiver of the message.
body: B
The message payload. Typically, any inbound messages
from a client will contain a msg_id
field, and outbound
messages will contain an in_reply_to
field. This is not a
hard requirement for inter-node communication, but it is required
for inter-client communication. Also, payloads for messages to and
from clients should contain a type
field, which is used to
determine the type of rpc being communicated.
Implementations§
Trait Implementations§
Source§impl<'de, B> Deserialize<'de> for Envelope<B>where
B: Deserialize<'de>,
impl<'de, B> Deserialize<'de> for Envelope<B>where
B: Deserialize<'de>,
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<B> Freeze for Envelope<B>where
B: Freeze,
impl<B> RefUnwindSafe for Envelope<B>where
B: RefUnwindSafe,
impl<B> Send for Envelope<B>where
B: Send,
impl<B> Sync for Envelope<B>where
B: Sync,
impl<B> Unpin for Envelope<B>where
B: Unpin,
impl<B> UnwindSafe for Envelope<B>where
B: UnwindSafe,
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