#[non_exhaustive]pub struct LeafNode {
pub public_key: HpkePublicKey,
pub signing_identity: SigningIdentity,
pub capabilities: Capabilities,
pub leaf_node_source: LeafNodeSource,
pub extensions: ExtensionList,
pub signature: Vec<u8>,
}Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.public_key: HpkePublicKey§signing_identity: SigningIdentity§capabilities: Capabilities§leaf_node_source: LeafNodeSource§extensions: ExtensionList§signature: Vec<u8>Implementations§
Source§impl LeafNode
impl LeafNode
pub fn ungreased_capabilities(&self) -> Capabilities
pub fn ungreased_extensions(&self) -> ExtensionList
pub fn grease<P: CipherSuiteProvider>(&mut self, cs: &P) -> Result<(), MlsError>
Source§impl LeafNode
impl LeafNode
pub fn generate<CSP>(
cipher_suite_provider: &CSP,
properties: ConfigProperties,
signing_identity: SigningIdentity,
signer: &SignatureSecretKey,
lifetime: Lifetime,
) -> Result<(Self, HpkeSecretKey), MlsError>where
CSP: CipherSuiteProvider,
pub fn update<P: CipherSuiteProvider>( &mut self, cipher_suite_provider: &P, group_id: &[u8], leaf_index: u32, new_properties: Option<ConfigProperties>, signing_identity: Option<SigningIdentity>, signer: &SignatureSecretKey, ) -> Result<HpkeSecretKey, MlsError>
pub fn commit<P: CipherSuiteProvider>( &mut self, cipher_suite_provider: &P, group_id: &[u8], leaf_index: u32, new_properties: Option<ConfigProperties>, new_signing_identity: Option<SigningIdentity>, signer: &SignatureSecretKey, ) -> Result<HpkeSecretKey, MlsError>
Trait Implementations§
impl StructuralPartialEq for LeafNode
Auto Trait Implementations§
impl Freeze for LeafNode
impl RefUnwindSafe for LeafNode
impl Send for LeafNode
impl Sync for LeafNode
impl Unpin for LeafNode
impl UnsafeUnpin for LeafNode
impl UnwindSafe for LeafNode
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