pub struct DirectMessage<ID, OP, DGM>where
DGM: AckedGroupMembership<ID, OP>,{
pub recipient: ID,
pub content: DirectMessageContent<ID, OP, DGM>,
}
Expand description
Direct message that should be sent to a single member.
The direct message must be distributed to the other group members through Authenticated Causal Broadcast, calling the process function on the recipient when they are delivered.
If direct messages are sent along with a control message, we assume that the direct message for the appropriate recipient is delivered in the same call to process. Our algorithm never sends a direct message without an associated broadcast control message.
Fields§
§recipient: ID
§content: DirectMessageContent<ID, OP, DGM>
Implementations§
Source§impl<ID, OP, DGM> DirectMessage<ID, OP, DGM>where
DGM: AckedGroupMembership<ID, OP>,
impl<ID, OP, DGM> DirectMessage<ID, OP, DGM>where
DGM: AckedGroupMembership<ID, OP>,
pub fn message_type(&self) -> DirectMessageType
Trait Implementations§
Source§impl<ID: Clone, OP: Clone, DGM> Clone for DirectMessage<ID, OP, DGM>where
DGM: AckedGroupMembership<ID, OP> + Clone,
impl<ID: Clone, OP: Clone, DGM> Clone for DirectMessage<ID, OP, DGM>where
DGM: AckedGroupMembership<ID, OP> + Clone,
Source§fn clone(&self) -> DirectMessage<ID, OP, DGM>
fn clone(&self) -> DirectMessage<ID, OP, DGM>
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<ID: Debug, OP: Debug, DGM> Debug for DirectMessage<ID, OP, DGM>where
DGM: AckedGroupMembership<ID, OP> + Debug,
impl<ID: Debug, OP: Debug, DGM> Debug for DirectMessage<ID, OP, DGM>where
DGM: AckedGroupMembership<ID, OP> + Debug,
Source§impl<'de, ID, OP, DGM> Deserialize<'de> for DirectMessage<ID, OP, DGM>where
DGM: AckedGroupMembership<ID, OP> + Deserialize<'de>,
ID: Deserialize<'de>,
OP: Deserialize<'de>,
impl<'de, ID, OP, DGM> Deserialize<'de> for DirectMessage<ID, OP, DGM>where
DGM: AckedGroupMembership<ID, OP> + Deserialize<'de>,
ID: Deserialize<'de>,
OP: 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
Source§impl<ID, OP, DGM> Serialize for DirectMessage<ID, OP, DGM>
impl<ID, OP, DGM> Serialize for DirectMessage<ID, OP, DGM>
Auto Trait Implementations§
impl<ID, OP, DGM> Freeze for DirectMessage<ID, OP, DGM>
impl<ID, OP, DGM> RefUnwindSafe for DirectMessage<ID, OP, DGM>
impl<ID, OP, DGM> Send for DirectMessage<ID, OP, DGM>
impl<ID, OP, DGM> Sync for DirectMessage<ID, OP, DGM>
impl<ID, OP, DGM> Unpin for DirectMessage<ID, OP, DGM>
impl<ID, OP, DGM> UnwindSafe for DirectMessage<ID, OP, DGM>
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