Enum ValidationError
pub enum ValidationError {
Show 27 variants
LibraryError(LibraryError),
WrongGroupId,
WrongEpoch,
NotACommit,
NotAnExternalAddProposal,
NoPath,
UnencryptedApplicationMessage,
UnknownMember,
MissingMembershipTag,
InvalidMembershipTag,
MissingConfirmationTag,
WrongWireFormat,
InvalidSignature,
NonMemberApplicationMessage,
UnableToDecrypt(MessageDecryptionError),
NoPastEpochData,
UnauthorizedExternalSender,
NoExternalSendersExtension,
KeyPackageVerifyError(KeyPackageVerifyError),
UpdatePathError(UpdatePathError),
InvalidLeafNodeSignature,
InvalidLeafNodeSourceType,
InvalidSenderType,
CommitterIncludedOwnUpdate,
InvalidAddProposalCiphersuite,
CannotDecryptOwnMessage,
ExternalCommitValidation(ExternalCommitValidationError),
}Expand description
Validation error
Variants§
LibraryError(LibraryError)
See LibraryError for more details.
WrongGroupId
Message group ID differs from the group’s group ID.
WrongEpoch
Message epoch differs from the group’s epoch.
NotACommit
The PublicMessage is not a Commit despite the sender begin of type NewMemberCommit.
NotAnExternalAddProposal
The PublicMessage is not an External Add Proposal despite the sender begin of type NewMemberProposal.
NoPath
The Commit doesn’t have a path despite the sender being of type NewMemberCommit.
UnencryptedApplicationMessage
The PublicMessage contains an application message but was not encrypted.
UnknownMember
Sender is not part of the group.
MissingMembershipTag
Membership tag is missing.
InvalidMembershipTag
Membership tag is invalid.
MissingConfirmationTag
The confirmation tag is missing.
WrongWireFormat
Wrong wire format.
InvalidSignature
Verifying the signature failed.
NonMemberApplicationMessage
An application message was sent from an external sender.
UnableToDecrypt(MessageDecryptionError)
Could not decrypt the message
NoPastEpochData
The message is from an epoch too far in the past.
The provided external sender is not authorized to send external proposals
NoExternalSendersExtension
The group doesn’t contain external senders extension.
KeyPackageVerifyError(KeyPackageVerifyError)
The KeyPackage could not be validated.
UpdatePathError(UpdatePathError)
The UpdatePath could not be validated.
InvalidLeafNodeSignature
Invalid LeafNode signature.
InvalidLeafNodeSourceType
Invalid LeafNode source type
InvalidSenderType
Invalid sender type.
CommitterIncludedOwnUpdate
The Commit includes update proposals from the committer.
InvalidAddProposalCiphersuite
The ciphersuite in the KeyPackage of the Add proposal does not match the group context.
CannotDecryptOwnMessage
Cannot decrypt own messages because the necessary key has been deleted according to the deletion schedule.
ExternalCommitValidation(ExternalCommitValidationError)
See ExternalCommitValidationError for more details.
Trait Implementations§
§impl Clone for ValidationError
impl Clone for ValidationError
§fn clone(&self) -> ValidationError
fn clone(&self) -> ValidationError
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more§impl Debug for ValidationError
impl Debug for ValidationError
§impl Display for ValidationError
impl Display for ValidationError
§impl Error for ValidationError
impl Error for ValidationError
§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
§impl From<ExternalCommitValidationError> for ValidationError
impl From<ExternalCommitValidationError> for ValidationError
§fn from(source: ExternalCommitValidationError) -> ValidationError
fn from(source: ExternalCommitValidationError) -> ValidationError
§impl From<KeyPackageVerifyError> for ValidationError
impl From<KeyPackageVerifyError> for ValidationError
§fn from(source: KeyPackageVerifyError) -> ValidationError
fn from(source: KeyPackageVerifyError) -> ValidationError
§impl From<LibraryError> for ValidationError
impl From<LibraryError> for ValidationError
§fn from(source: LibraryError) -> ValidationError
fn from(source: LibraryError) -> ValidationError
§impl From<MessageDecryptionError> for ValidationError
impl From<MessageDecryptionError> for ValidationError
§fn from(source: MessageDecryptionError) -> ValidationError
fn from(source: MessageDecryptionError) -> ValidationError
§impl From<UpdatePathError> for ValidationError
impl From<UpdatePathError> for ValidationError
§fn from(source: UpdatePathError) -> ValidationError
fn from(source: UpdatePathError) -> ValidationError
§impl<StorageError> From<ValidationError> for ExternalCommitBuilderError<StorageError>
impl<StorageError> From<ValidationError> for ExternalCommitBuilderError<StorageError>
§fn from(source: ValidationError) -> ExternalCommitBuilderError<StorageError>
fn from(source: ValidationError) -> ExternalCommitBuilderError<StorageError>
§impl<StorageError> From<ValidationError> for ProcessMessageError<StorageError>
impl<StorageError> From<ValidationError> for ProcessMessageError<StorageError>
§fn from(source: ValidationError) -> ProcessMessageError<StorageError>
fn from(source: ValidationError) -> ProcessMessageError<StorageError>
§impl<StorageError> From<ValidationError> for ProposalError<StorageError>
impl<StorageError> From<ValidationError> for ProposalError<StorageError>
§fn from(source: ValidationError) -> ProposalError<StorageError>
fn from(source: ValidationError) -> ProposalError<StorageError>
§impl From<ValidationError> for PublicProcessMessageError
impl From<ValidationError> for PublicProcessMessageError
§fn from(source: ValidationError) -> PublicProcessMessageError
fn from(source: ValidationError) -> PublicProcessMessageError
§impl PartialEq for ValidationError
impl PartialEq for ValidationError
impl StructuralPartialEq for ValidationError
Auto Trait Implementations§
impl Freeze for ValidationError
impl RefUnwindSafe for ValidationError
impl Send for ValidationError
impl Sync for ValidationError
impl Unpin for ValidationError
impl UnwindSafe for ValidationError
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
§impl<T> Classify for T
impl<T> Classify for T
type Classified = T
fn classify(self) -> T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Conv for T
impl<T> Conv for T
§impl<T> Declassify for T
impl<T> Declassify for T
type Declassified = T
fn declassify(self) -> T
§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self to use its Binary implementation when Debug-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self to use its Display implementation when
Debug-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self to use its LowerExp implementation when
Debug-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self to use its LowerHex implementation when
Debug-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self to use its Octal implementation when Debug-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self to use its Pointer implementation when
Debug-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self to use its UpperExp implementation when
Debug-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self to use its UpperHex implementation when
Debug-formatted.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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>
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>
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§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self, then passes self.as_ref() into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self, then passes self.as_mut() into the pipe
function.§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self, then passes self.deref() into the pipe function.§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B> of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B> of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R> view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R> view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap() only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut() only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow() only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut() only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref() only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut() only in debug builds, and is erased in release
builds.§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref() only in debug builds, and is erased in release
builds.§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.