pub struct ProcessInput<ID, OP, DGM>where
DGM: GroupMembership<ID, OP>,{
pub seq: OP,
pub sender: ID,
pub control_message: ControlMessage<ID>,
pub direct_message: Option<DirectMessage<ID, OP, DGM>>,
}Available on crate features
data_scheme only.Expand description
Arguments required to process a group operation received from another member.
Fields§
§seq: OPSequence number, which consecutively numbers successive control messages from the same sender.
sender: IDAuthor of this message.
control_message: ControlMessage<ID>Message received from this author.
direct_message: Option<DirectMessage<ID, OP, DGM>>Optional direct message for us.
Applications need to filter the direct message for the correct recipient before passing it as an input. There can always only be max. 1 direct message per recipient.
Trait Implementations§
Source§impl<ID: Clone, OP: Clone, DGM> Clone for ProcessInput<ID, OP, DGM>where
DGM: GroupMembership<ID, OP> + Clone,
impl<ID: Clone, OP: Clone, DGM> Clone for ProcessInput<ID, OP, DGM>where
DGM: GroupMembership<ID, OP> + Clone,
Auto Trait Implementations§
impl<ID, OP, DGM> Freeze for ProcessInput<ID, OP, DGM>where
OP: Freeze,
ID: Freeze,
ControlMessage<ID>: Freeze,
Option<DirectMessage<ID, OP, DGM>>: Freeze,
impl<ID, OP, DGM> RefUnwindSafe for ProcessInput<ID, OP, DGM>where
OP: RefUnwindSafe,
ID: RefUnwindSafe,
ControlMessage<ID>: RefUnwindSafe,
Option<DirectMessage<ID, OP, DGM>>: RefUnwindSafe,
impl<ID, OP, DGM> Send for ProcessInput<ID, OP, DGM>
impl<ID, OP, DGM> Sync for ProcessInput<ID, OP, DGM>
impl<ID, OP, DGM> Unpin for ProcessInput<ID, OP, DGM>
impl<ID, OP, DGM> UnsafeUnpin for ProcessInput<ID, OP, DGM>where
OP: UnsafeUnpin,
ID: UnsafeUnpin,
ControlMessage<ID>: UnsafeUnpin,
Option<DirectMessage<ID, OP, DGM>>: UnsafeUnpin,
impl<ID, OP, DGM> UnwindSafe for ProcessInput<ID, OP, DGM>where
OP: UnwindSafe,
ID: UnwindSafe,
ControlMessage<ID>: UnwindSafe,
Option<DirectMessage<ID, OP, DGM>>: 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