pub enum ProcessResult {
AppMessage(Box<AppMessage>),
Proposal(Box<Proposal>),
Vote(Box<Vote>),
LeaveConversation,
MembershipChangeReceived(Box<ConversationUpdateRequest>),
ConversationUpdated,
CommitCandidateReceived {
steward_id: Vec<u8>,
},
ConversationSyncReceived(Box<ConversationSync>),
WelcomeBroadcastReceived(Box<MemberWelcome>),
Noop(NoopReason),
}Expand description
Outcome of processing one inbound packet. The app layer matches this directly and dispatches the side effects.
Heavy protobuf payloads (AppMessage, Proposal, Vote,
ConversationUpdateRequest, ConversationSync — each 88–144 bytes) are
boxed so the enum stays small.
Variants§
AppMessage(Box<AppMessage>)
Decrypted application message ready to deliver to the UI.
Proposal(Box<Proposal>)
Consensus proposal from a peer — forward to the consensus service.
Vote(Box<Vote>)
Consensus vote from a peer — forward to the consensus service.
LeaveConversation
We were removed from the conversation.
MembershipChangeReceived(Box<ConversationUpdateRequest>)
Steward received a membership change (invite KP / ban) — start a vote.
ConversationUpdated
MLS state advanced (batch commit applied).
CommitCandidateReceived
Remote commit candidate was buffered in the active freeze round.
ConversationSyncReceived(Box<ConversationSync>)
Conversation-sync message from the steward.
WelcomeBroadcastReceived(Box<MemberWelcome>)
Welcome broadcast from the committing steward: every member learns the welcome so the application decides who delivers it to the joiners and how.
Noop(NoopReason)
Nothing to do.
Trait Implementations§
Source§impl Clone for ProcessResult
impl Clone for ProcessResult
Source§fn clone(&self) -> ProcessResult
fn clone(&self) -> ProcessResult
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ProcessResult
impl Debug for ProcessResult
Source§impl TryFrom<AppMessage> for ProcessResult
impl TryFrom<AppMessage> for ProcessResult
Source§type Error = ConversationError
type Error = ConversationError
Auto Trait Implementations§
impl Freeze for ProcessResult
impl RefUnwindSafe for ProcessResult
impl Send for ProcessResult
impl Sync for ProcessResult
impl Unpin for ProcessResult
impl UnsafeUnpin for ProcessResult
impl UnwindSafe for ProcessResult
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more