Struct core_crypto::mls::conversation::decrypt::MlsConversationDecryptMessage
source · pub struct MlsConversationDecryptMessage {
pub app_msg: Option<Vec<u8>>,
pub proposals: Vec<MlsProposalBundle>,
pub is_active: bool,
pub delay: Option<u64>,
pub sender_client_id: Option<ClientId>,
pub has_epoch_changed: bool,
pub identity: WireIdentity,
pub buffered_messages: Option<Vec<MlsBufferedConversationDecryptMessage>>,
pub crl_new_distribution_points: NewCrlDistributionPoint,
}
Expand description
Represents the potential items a consumer might require after passing us an encrypted message we have decrypted for him
Fields§
§app_msg: Option<Vec<u8>>
Decrypted text message
proposals: Vec<MlsProposalBundle>
Only when decrypted message is a commit, CoreCrypto will renew local proposal which could not make it in the commit. This will contain either:
- local pending proposal not in the accepted commit
- If there is a pending commit, its proposals which are not in the accepted commit
is_active: bool
Is the conversation still active after receiving this commit aka has the user been removed from the group
delay: Option<u64>
Delay time in seconds to feed caller timer for committing
sender_client_id: Option<ClientId>
ClientId of the sender of the message being decrypted. Only present for application messages.
has_epoch_changed: bool
Is the epoch changed after decrypting this message
identity: WireIdentity
Identity claims present in the sender credential Present for all messages
buffered_messages: Option<Vec<MlsBufferedConversationDecryptMessage>>
Only set when the decrypted message is a commit. Contains buffered messages for next epoch which were received before the commit creating the epoch because the DS did not fan them out in order.
crl_new_distribution_points: NewCrlDistributionPoint
New CRL distribution points that appeared by the introduction of a new credential
Trait Implementations§
source§impl From<MlsConversationDecryptMessage> for MlsBufferedConversationDecryptMessage
impl From<MlsConversationDecryptMessage> for MlsBufferedConversationDecryptMessage
source§fn from(from: MlsConversationDecryptMessage) -> Self
fn from(from: MlsConversationDecryptMessage) -> Self
Auto Trait Implementations§
impl Freeze for MlsConversationDecryptMessage
impl RefUnwindSafe for MlsConversationDecryptMessage
impl Send for MlsConversationDecryptMessage
impl Sync for MlsConversationDecryptMessage
impl Unpin for MlsConversationDecryptMessage
impl UnwindSafe for MlsConversationDecryptMessage
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<T, UT> HandleAlloc<UT> for T
impl<T, UT> HandleAlloc<UT> for T
§fn new_handle(value: Arc<T>) -> Handle
fn new_handle(value: Arc<T>) -> Handle
§unsafe fn clone_handle(handle: Handle) -> Handle
unsafe fn clone_handle(handle: Handle) -> Handle
§unsafe fn consume_handle(handle: Handle) -> Arc<T>
unsafe fn consume_handle(handle: Handle) -> Arc<T>
Arc<>
Read moresource§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