pub struct ImmutableConversation<D> { /* private fields */ }Expand description
An ImmutableConversation wraps a MlsConversation.
It only exposes the read-only interface of the conversation.
Auto Trait Implementations§
impl<D> Freeze for ImmutableConversation<D>where
D: Freeze,
impl<D> !RefUnwindSafe for ImmutableConversation<D>
impl<D> Send for ImmutableConversation<D>where
D: Send,
impl<D> Sync for ImmutableConversation<D>where
D: Sync,
impl<D> Unpin for ImmutableConversation<D>where
D: Unpin,
impl<D> !UnwindSafe for ImmutableConversation<D>
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
Source§impl<'a, T> Conversation<'a> for Twhere
T: ConversationWithMls<'a>,
impl<'a, T> Conversation<'a> for Twhere
T: ConversationWithMls<'a>,
Source§fn epoch<'async_trait>(
&'a self,
) -> Pin<Box<dyn Future<Output = u64> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'a: 'async_trait,
fn epoch<'async_trait>(
&'a self,
) -> Pin<Box<dyn Future<Output = u64> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'a: 'async_trait,
Returns the epoch of a given conversation
Source§fn ciphersuite<'async_trait>(
&'a self,
) -> Pin<Box<dyn Future<Output = Ciphersuite> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'a: 'async_trait,
fn ciphersuite<'async_trait>(
&'a self,
) -> Pin<Box<dyn Future<Output = Ciphersuite> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'a: 'async_trait,
Returns the ciphersuite of a given conversation
Source§fn credential_ref<'async_trait>(
&'a self,
) -> Pin<Box<dyn Future<Output = Result<CredentialRef>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'a: 'async_trait,
fn credential_ref<'async_trait>(
&'a self,
) -> Pin<Box<dyn Future<Output = Result<CredentialRef>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'a: 'async_trait,
Returns the credential ref to a credential of a given conversation
Source§fn export_secret_key<'async_trait>(
&'a self,
key_length: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<u8>>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'a: 'async_trait,
fn export_secret_key<'async_trait>(
&'a self,
key_length: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<u8>>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'a: 'async_trait,
Derives a new key from the one in the group, to be used elsewhere. Read more
Source§fn get_client_ids<'async_trait>(
&'a self,
) -> Pin<Box<dyn Future<Output = Vec<ClientId>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'a: 'async_trait,
fn get_client_ids<'async_trait>(
&'a self,
) -> Pin<Box<dyn Future<Output = Vec<ClientId>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'a: 'async_trait,
Exports the clients from a conversation Read more
Source§fn get_external_sender<'async_trait>(
&'a self,
) -> Pin<Box<dyn Future<Output = Result<Vec<u8>>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'a: 'async_trait,
fn get_external_sender<'async_trait>(
&'a self,
) -> Pin<Box<dyn Future<Output = Result<Vec<u8>>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'a: 'async_trait,
Returns the raw public key of the single external sender present in this group.
This should be used to initialize a subconversation
Source§fn e2ei_conversation_state<'async_trait>(
&'a self,
) -> Pin<Box<dyn Future<Output = Result<E2eiConversationState>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'a: 'async_trait,
fn e2ei_conversation_state<'async_trait>(
&'a self,
) -> Pin<Box<dyn Future<Output = Result<E2eiConversationState>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'a: 'async_trait,
Indicates when to mark a conversation as not verified i.e. when not all its members have a X509
Credential generated by Wire’s end-to-end identity enrollment
Source§fn get_device_identities<'life0, 'async_trait>(
&'a self,
device_ids: &'life0 [impl 'async_trait + Borrow<ClientIdRef> + Sync],
) -> Pin<Box<dyn Future<Output = Result<Vec<WireIdentity>>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'a: 'async_trait,
'life0: 'async_trait,
fn get_device_identities<'life0, 'async_trait>(
&'a self,
device_ids: &'life0 [impl 'async_trait + Borrow<ClientIdRef> + Sync],
) -> Pin<Box<dyn Future<Output = Result<Vec<WireIdentity>>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'a: 'async_trait,
'life0: 'async_trait,
From a given conversation, get the identity of the members supplied. Identity is only present for
members with a Certificate Credential (after turning on end-to-end identity).
If no member has a x509 certificate, it will return an empty Vec
Source§fn get_user_identities<'life0, 'async_trait>(
&'a self,
user_ids: &'life0 [String],
) -> Pin<Box<dyn Future<Output = Result<HashMap<String, Vec<WireIdentity>>>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'a: 'async_trait,
'life0: 'async_trait,
fn get_user_identities<'life0, 'async_trait>(
&'a self,
user_ids: &'life0 [String],
) -> Pin<Box<dyn Future<Output = Result<HashMap<String, Vec<WireIdentity>>>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'a: 'async_trait,
'life0: 'async_trait,
From a given conversation, get the identity of the users (device holders) supplied.
Identity is only present for devices with a Certificate Credential (after turning on end-to-end identity).
If no member has a x509 certificate, it will return an empty Vec. Read more
Source§fn generate_history_secret<'async_trait>(
&'a self,
) -> Pin<Box<dyn Future<Output = Result<HistorySecret>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'a: 'async_trait,
fn generate_history_secret<'async_trait>(
&'a self,
) -> Pin<Box<dyn Future<Output = Result<HistorySecret>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'a: 'async_trait,
Generate a new
crate::HistorySecret. Read moreSource§fn is_history_sharing_enabled<'async_trait>(
&'a self,
) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'a: 'async_trait,
fn is_history_sharing_enabled<'async_trait>(
&'a self,
) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'a: 'async_trait,
Check if history sharing is enabled, i.e., if any of the conversation members have a ClientId starting
with crate::HISTORY_CLIENT_ID_PREFIX.
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>
Converts
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>
Converts
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