Enum openmls::extensions::ExtensionType
source · pub enum ExtensionType {
ApplicationId,
RatchetTree,
RequiredCapabilities,
ExternalPub,
ExternalSenders,
Unknown(u16),
}
Expand description
MLS Extension Types
Copied from draft-ietf-mls-protocol-16:
Value | Name | Message(s) | Recommended | Reference |
---|---|---|---|---|
0x0000 | RESERVED | N/A | N/A | RFC XXXX |
0x0001 | application_id | LN | Y | RFC XXXX |
0x0002 | ratchet_tree | GI | Y | RFC XXXX |
0x0003 | required_capabilities | GC | Y | RFC XXXX |
0x0004 | external_pub | GI | Y | RFC XXXX |
0x0005 | external_senders | GC | Y | RFC XXXX |
0xff00 - 0xffff | Reserved for Private Use | N/A | N/A | RFC XXXX |
Note: OpenMLS does not provide a Reserved
variant in ExtensionType.
Variants§
ApplicationId
The application id extension allows applications to add an explicit, application-defined identifier to a KeyPackage.
RatchetTree
The ratchet tree extensions provides the whole public state of the ratchet tree.
RequiredCapabilities
The required capabilities extension defines the configuration of a group that imposes certain requirements on clients in the group.
ExternalPub
To join a group via an External Commit, a new member needs a GroupInfo with an ExternalPub extension present in its extensions field.
ExternalSenders
Group context extension that contains the credentials and signature keys of senders that are permitted to send external proposals to the group.
Unknown(u16)
A currently unknown extension type.
Implementations§
source§impl ExtensionType
impl ExtensionType
sourcepub fn is_supported(&self) -> bool
pub fn is_supported(&self) -> bool
Check whether an ExtensionType
is supported or not.
Trait Implementations§
source§impl Clone for ExtensionType
impl Clone for ExtensionType
source§fn clone(&self) -> ExtensionType
fn clone(&self) -> ExtensionType
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for ExtensionType
impl Debug for ExtensionType
source§impl<'de> Deserialize<'de> for ExtensionType
impl<'de> Deserialize<'de> for ExtensionType
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>,
source§impl Deserialize for ExtensionType
impl Deserialize for ExtensionType
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,
bytes
from the provided a std::io::Read
and returns the populated struct. Read moresource§impl From<ExtensionType> for u16
impl From<ExtensionType> for u16
source§fn from(value: ExtensionType) -> Self
fn from(value: ExtensionType) -> Self
source§impl From<u16> for ExtensionType
impl From<u16> for ExtensionType
source§impl Hash for ExtensionType
impl Hash for ExtensionType
source§impl Ord for ExtensionType
impl Ord for ExtensionType
source§fn cmp(&self, other: &ExtensionType) -> Ordering
fn cmp(&self, other: &ExtensionType) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere Self: Sized,
source§impl PartialEq<ExtensionType> for ExtensionType
impl PartialEq<ExtensionType> for ExtensionType
source§fn eq(&self, other: &ExtensionType) -> bool
fn eq(&self, other: &ExtensionType) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl PartialOrd<ExtensionType> for ExtensionType
impl PartialOrd<ExtensionType> for ExtensionType
source§fn partial_cmp(&self, other: &ExtensionType) -> Option<Ordering>
fn partial_cmp(&self, other: &ExtensionType) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read more