Struct mls_rs::extension::built_in::RequiredCapabilitiesExt
source · pub struct RequiredCapabilitiesExt {
pub extensions: Vec<ExtensionType>,
pub proposals: Vec<ProposalType>,
pub credentials: Vec<CredentialType>,
}
Expand description
Require members to have certain capabilities.
Used within a Group Context Extensions Proposal in order to require that all current and future members of a group MUST support specific extensions, proposals, or credentials.
§Warning
Extension, proposal, and credential types defined by the MLS RFC and provided are considered required by default and should NOT be used within this extension.
Fields§
§extensions: Vec<ExtensionType>
§proposals: Vec<ProposalType>
§credentials: Vec<CredentialType>
Implementations§
source§impl RequiredCapabilitiesExt
impl RequiredCapabilitiesExt
sourcepub fn new(
extensions: Vec<ExtensionType>,
proposals: Vec<ProposalType>,
credentials: Vec<CredentialType>,
) -> Self
pub fn new( extensions: Vec<ExtensionType>, proposals: Vec<ProposalType>, credentials: Vec<CredentialType>, ) -> Self
Create a required capabilities extension.
Trait Implementations§
source§impl Clone for RequiredCapabilitiesExt
impl Clone for RequiredCapabilitiesExt
source§fn clone(&self) -> RequiredCapabilitiesExt
fn clone(&self) -> RequiredCapabilitiesExt
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for RequiredCapabilitiesExt
impl Debug for RequiredCapabilitiesExt
source§impl Default for RequiredCapabilitiesExt
impl Default for RequiredCapabilitiesExt
source§fn default() -> RequiredCapabilitiesExt
fn default() -> RequiredCapabilitiesExt
Returns the “default value” for a type. Read more
source§impl MlsCodecExtension for RequiredCapabilitiesExt
impl MlsCodecExtension for RequiredCapabilitiesExt
fn extension_type() -> ExtensionType
source§impl MlsDecode for RequiredCapabilitiesExt
impl MlsDecode for RequiredCapabilitiesExt
source§impl MlsEncode for RequiredCapabilitiesExt
impl MlsEncode for RequiredCapabilitiesExt
source§impl MlsSize for RequiredCapabilitiesExt
impl MlsSize for RequiredCapabilitiesExt
fn mls_encoded_len(&self) -> usize
source§impl PartialEq for RequiredCapabilitiesExt
impl PartialEq for RequiredCapabilitiesExt
impl Eq for RequiredCapabilitiesExt
impl StructuralPartialEq for RequiredCapabilitiesExt
Auto Trait Implementations§
impl Freeze for RequiredCapabilitiesExt
impl RefUnwindSafe for RequiredCapabilitiesExt
impl Send for RequiredCapabilitiesExt
impl Sync for RequiredCapabilitiesExt
impl Unpin for RequiredCapabilitiesExt
impl UnwindSafe for RequiredCapabilitiesExt
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§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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 moresource§impl<T> MlsExtension for Twhere
T: MlsCodecExtension,
impl<T> MlsExtension for Twhere
T: MlsCodecExtension,
source§type SerializationError = Error
type SerializationError = Error
Error type of the underlying serializer that can convert this type into a
Vec<u8>
.source§type DeserializationError = Error
type DeserializationError = Error
Error type of the underlying deserializer that can convert a
Vec<u8>
into this type.source§fn extension_type() -> ExtensionType
fn extension_type() -> ExtensionType
Extension type value that this type represents.
source§fn to_bytes(&self) -> Result<Vec<u8>, <T as MlsExtension>::SerializationError>
fn to_bytes(&self) -> Result<Vec<u8>, <T as MlsExtension>::SerializationError>
Convert this type to opaque bytes.
source§fn from_bytes(
data: &[u8],
) -> Result<T, <T as MlsExtension>::DeserializationError>
fn from_bytes( data: &[u8], ) -> Result<T, <T as MlsExtension>::DeserializationError>
Create this type from opaque bytes.
source§fn into_extension(self) -> Result<Extension, ExtensionError>
fn into_extension(self) -> Result<Extension, ExtensionError>
Convert this type into an Extension.
source§fn from_extension(ext: &Extension) -> Result<Self, ExtensionError>
fn from_extension(ext: &Extension) -> Result<Self, ExtensionError>
Create this type from an Extension.