#[repr(u16)]pub enum Extension {
ApplicationId(Vec<u8>),
RatchetTree(RatchetTreeExtension),
RequiredCapabilities(RequiredCapabilities),
ExternalPub(ExternalPub),
ExternalSenders(Vec<ExternalSender>),
ApplicationData(ApplicationDataDictionary),
SupportedWireFormats(WireFormats),
RequiredWireFormats(WireFormats),
RatchetTreeSourceDomains(RatchetTreeSourceDomainsExtension),
Arbitrary(ArbitraryExtension),
}Variants§
ApplicationId(Vec<u8>)
Extension to uniquely identify clients
RatchetTree(RatchetTreeExtension)
Sparse vec of TreeNodes, that is right-trimmed
RequiredCapabilities(RequiredCapabilities)
ExternalPub(ExternalPub)
Extension that enables “External Joins” via external commits
ExternalSenders(Vec<ExternalSender>)
Extension that allows external proposals to be signed by a third party (i.e. a server or something)
ApplicationData(ApplicationDataDictionary)
Available on crate feature
draft-ietf-mls-extensions only.SupportedWireFormats(WireFormats)
Available on crate feature
draft-ietf-mls-extensions only.RequiredWireFormats(WireFormats)
Available on crate feature
draft-ietf-mls-extensions only.RatchetTreeSourceDomains(RatchetTreeSourceDomainsExtension)
Available on crate feature
draft-mahy-mls-ratchet-tree-options only.Arbitrary(ArbitraryExtension)
Implementations§
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Extension
impl<'de> Deserialize<'de> for Extension
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Deserialize for Extension
impl Deserialize for Extension
Source§fn tls_deserialize<R: Read>(bytes: &mut R) -> Result<Self, Error>where
Self: Sized,
fn tls_deserialize<R: Read>(bytes: &mut R) -> Result<Self, Error>where
Self: Sized,
Available on crate feature
std only.This function deserializes the
bytes from the provided a std::io::Read
and returns the populated struct. Read moreSource§impl From<&Extension> for ExtensionType
impl From<&Extension> for ExtensionType
Source§impl From<ApplicationDataDictionary> for Extension
Available on crate feature draft-ietf-mls-extensions only.
impl From<ApplicationDataDictionary> for Extension
Available on crate feature
draft-ietf-mls-extensions only.Source§fn from(val: ApplicationDataDictionary) -> Self
fn from(val: ApplicationDataDictionary) -> Self
Converts to this type from the input type.
Source§impl Serialize for &Extension
impl Serialize for &Extension
Source§impl Serialize for Extension
impl Serialize for Extension
impl Eq for Extension
impl StructuralPartialEq for Extension
Auto Trait Implementations§
impl Freeze for Extension
impl RefUnwindSafe for Extension
impl Send for Extension
impl Sync for Extension
impl Unpin for Extension
impl UnsafeUnpin for Extension
impl UnwindSafe for Extension
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<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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