pub struct OperationOutput<ID, OP, DGM>where
DGM: AckedGroupMembership<ID, OP>,{
pub control_message: ControlMessage<ID, OP>,
pub direct_messages: Vec<DirectMessage<ID, OP, DGM>>,
pub me_update_secret: Option<UpdateSecret>,
}Expand description
Calling “create”, “add”, “remove” and “update” return a tuple of three variables (control,
dmsgs and I) after changing the state for the current user.
control is a control message that should be broadcast to the group, dmsgs is a set of (u, m) pairs where m is a direct message that should be sent to user u, and I is a new
update secret for the current user.
Fields§
§control_message: ControlMessage<ID, OP>Control message that should be broadcast to the group.
direct_messages: Vec<DirectMessage<ID, OP, DGM>>Set of messages directly to be sent to specific users.
me_update_secret: Option<UpdateSecret>Our next update key for the message ratchet for outgoing messages to the group.
Auto Trait Implementations§
impl<ID, OP, DGM> Freeze for OperationOutput<ID, OP, DGM>
impl<ID, OP, DGM> RefUnwindSafe for OperationOutput<ID, OP, DGM>where
ID: RefUnwindSafe,
OP: RefUnwindSafe,
<DGM as AckedGroupMembership<ID, OP>>::State: RefUnwindSafe,
impl<ID, OP, DGM> Send for OperationOutput<ID, OP, DGM>
impl<ID, OP, DGM> Sync for OperationOutput<ID, OP, DGM>
impl<ID, OP, DGM> Unpin for OperationOutput<ID, OP, DGM>
impl<ID, OP, DGM> UnwindSafe for OperationOutput<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