#[non_exhaustive]pub enum MlsError {
Show 109 variants
IdentityProviderError(AnyError),
CryptoProviderError(AnyError),
KeyPackageRepoError(AnyError),
GroupStorageError(AnyError),
PskStoreError(AnyError),
MlsRulesError(AnyError),
SerializationError(AnyError),
ExtensionError(AnyError),
CipherSuiteMismatch,
CommitMissingPath,
InvalidEpoch,
InvalidSignature,
InvalidConfirmationTag,
InvalidMembershipTag,
InvalidTreeKemPrivateKey,
WelcomeKeyPackageNotFound,
LeafNotFound(u32),
CantProcessMessageFromSelf,
CommitRequired,
RatchetTreeNotFound,
ExternalSenderCannotCommit,
UnsupportedProtocolVersion(ProtocolVersion),
ProtocolVersionMismatch,
UnsupportedCipherSuite(CipherSuite),
UnknownSigningIdentityForExternalSender,
ExternalProposalsDisabled,
InvalidExternalSigningIdentity,
MissingExternalPubExtension,
EpochNotFound,
UnencryptedApplicationMessage,
ExpectedCommitForNewMemberCommit,
ExpectedAddProposalForNewMemberProposal,
ExternalCommitMissingExternalInit,
GroupUsedAfterReInit,
PendingReInitNotFound,
ReInitExtensionsMismatch,
SignerNotFound,
ExistingPendingCommit,
PendingCommitNotFound,
UnexpectedMessageType,
MembershipTagForNonMember,
MemberNotFound,
GroupNotFound,
UnexpectedPskId,
InvalidSender,
GroupIdMismatch,
NonZeroRetentionRequired,
TooManyPskIds,
MissingRequiredPsk,
OldGroupStateNotFound,
InvalidLeafConsumption,
KeyMissing(u32),
InvalidFutureGeneration(u32),
LeafNodeNoChildren,
LeafNodeNoParent,
InvalidTreeIndex,
TimeOverflow,
InvalidLeafNodeSource,
InvalidLifetime {
not_before: MlsTime,
not_after: MlsTime,
timestamp: MlsTime,
},
RequiredExtensionNotFound(ExtensionType),
RequiredProposalNotFound(ProposalType),
RequiredCredentialNotFound(CredentialType),
ExtensionNotInCapabilities(ExtensionType),
ExpectedNode,
InvalidNodeIndex(u32),
UnexpectedEmptyNode,
DuplicateLeafData(u32),
InUseCredentialTypeUnsupportedByNewLeaf,
CredentialTypeOfNewLeafIsUnsupported,
WrongPathLen,
SameHpkeKey(u32),
InvalidInitKey,
InitLeafKeyEquality,
DifferentIdentityInUpdate(u32),
PubKeyMismatch,
TreeHashMismatch,
UpdateErrorNoSecretKey,
LcaNotFoundInDirectPath,
ParentHashMismatch,
UnmergedLeavesMismatch,
UnexpectedEmptyTree,
UnexpectedTrailingBlanks,
InvalidCommitSelfUpdate,
InvalidTypeOrUsageInPreSharedKeyProposal,
InvalidPskNonceLength,
InvalidProtocolVersionInReInit,
MoreThanOneProposalForLeaf(u32),
MoreThanOneGroupContextExtensionsProposal,
InvalidProposalTypeForSender,
ExternalCommitMustHaveExactlyOneExternalInit,
ExternalCommitMustHaveNewLeaf,
ExternalCommitRemovesOtherIdentity,
ExternalCommitWithMoreThanOneRemove,
DuplicatePskIds,
InvalidProposalTypeInExternalCommit(ProposalType),
CommitterSelfRemoval,
OnlyMembersCanCommitProposalsByRef,
OtherProposalWithReInit,
UnsupportedGroupExtension(ExtensionType),
UnsupportedCustomProposal(ProposalType),
ProposalNotFound,
RemovingNonExistingMember,
InvalidSuccessor,
UpdatingNonExistingMember,
FailedGeneratingPathSecret,
InvalidGroupInfo,
InvalidWelcomeMessage,
ExporterDeleted,
SelfRemoveAlreadyProposed,
}
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
IdentityProviderError(AnyError)
CryptoProviderError(AnyError)
KeyPackageRepoError(AnyError)
GroupStorageError(AnyError)
PskStoreError(AnyError)
MlsRulesError(AnyError)
SerializationError(AnyError)
ExtensionError(AnyError)
CipherSuiteMismatch
CommitMissingPath
InvalidEpoch
InvalidSignature
InvalidConfirmationTag
InvalidMembershipTag
InvalidTreeKemPrivateKey
WelcomeKeyPackageNotFound
LeafNotFound(u32)
CantProcessMessageFromSelf
CommitRequired
RatchetTreeNotFound
ExternalSenderCannotCommit
UnsupportedProtocolVersion(ProtocolVersion)
ProtocolVersionMismatch
UnsupportedCipherSuite(CipherSuite)
UnknownSigningIdentityForExternalSender
ExternalProposalsDisabled
InvalidExternalSigningIdentity
MissingExternalPubExtension
EpochNotFound
UnencryptedApplicationMessage
ExpectedCommitForNewMemberCommit
ExpectedAddProposalForNewMemberProposal
ExternalCommitMissingExternalInit
GroupUsedAfterReInit
PendingReInitNotFound
ReInitExtensionsMismatch
SignerNotFound
ExistingPendingCommit
PendingCommitNotFound
UnexpectedMessageType
MembershipTagForNonMember
MemberNotFound
GroupNotFound
UnexpectedPskId
InvalidSender
GroupIdMismatch
NonZeroRetentionRequired
TooManyPskIds
MissingRequiredPsk
OldGroupStateNotFound
InvalidLeafConsumption
KeyMissing(u32)
InvalidFutureGeneration(u32)
LeafNodeNoChildren
LeafNodeNoParent
InvalidTreeIndex
TimeOverflow
InvalidLeafNodeSource
InvalidLifetime
RequiredExtensionNotFound(ExtensionType)
RequiredProposalNotFound(ProposalType)
RequiredCredentialNotFound(CredentialType)
ExtensionNotInCapabilities(ExtensionType)
ExpectedNode
InvalidNodeIndex(u32)
UnexpectedEmptyNode
DuplicateLeafData(u32)
InUseCredentialTypeUnsupportedByNewLeaf
CredentialTypeOfNewLeafIsUnsupported
WrongPathLen
SameHpkeKey(u32)
InvalidInitKey
InitLeafKeyEquality
DifferentIdentityInUpdate(u32)
PubKeyMismatch
TreeHashMismatch
UpdateErrorNoSecretKey
LcaNotFoundInDirectPath
ParentHashMismatch
UnmergedLeavesMismatch
UnexpectedEmptyTree
UnexpectedTrailingBlanks
InvalidCommitSelfUpdate
InvalidPskNonceLength
InvalidProtocolVersionInReInit
MoreThanOneProposalForLeaf(u32)
MoreThanOneGroupContextExtensionsProposal
InvalidProposalTypeForSender
ExternalCommitMustHaveExactlyOneExternalInit
ExternalCommitMustHaveNewLeaf
ExternalCommitRemovesOtherIdentity
ExternalCommitWithMoreThanOneRemove
DuplicatePskIds
InvalidProposalTypeInExternalCommit(ProposalType)
CommitterSelfRemoval
OnlyMembersCanCommitProposalsByRef
OtherProposalWithReInit
UnsupportedGroupExtension(ExtensionType)
UnsupportedCustomProposal(ProposalType)
ProposalNotFound
RemovingNonExistingMember
InvalidSuccessor
UpdatingNonExistingMember
FailedGeneratingPathSecret
InvalidGroupInfo
InvalidWelcomeMessage
ExporterDeleted
SelfRemoveAlreadyProposed
Trait Implementations§
Source§impl Error for MlsError
impl Error for MlsError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()
Source§impl From<ExtensionError> for MlsError
impl From<ExtensionError> for MlsError
Source§fn from(e: ExtensionError) -> Self
fn from(e: ExtensionError) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl Freeze for MlsError
impl !RefUnwindSafe for MlsError
impl Send for MlsError
impl Sync for MlsError
impl Unpin for MlsError
impl !UnwindSafe for MlsError
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> 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