pub enum Error {
HandshakeFailed,
MessageLimitReached,
EncryptionFailed,
DecryptionFailed,
InvalidTimestamp(u64, Range<u64>),
}Expand description
Errors relating to the handshake, or to encryption.
Variants§
HandshakeFailed
An error indicating that the handshake failed.
We don’t provide detail on why the handshake failed, following a common precautionary principle. The basis of this reasoning is that:
- the application can’t meaningfully respond to different failure reasons,
- an adversary might gain an advantage by knowing the failure reason.
In other words, there’s only disadvantages and extra effort in doing so.
MessageLimitReached
An error indicating that no more messages can (safely) be sent.
In practice, you should never see this error, because the limit takes an ultra-astronomical amount of messages to reach.
EncryptionFailed
Encryption failed for some reason.
In practice, this error shouldn’t happen.
DecryptionFailed
Decryption failed.
This can happen if the message was corrupted, for some reason.
InvalidTimestamp(u64, Range<u64>)
The timestamp is not in the allowable bounds
Trait Implementations§
Source§impl Error for Error
impl Error for Error
1.30.0 · 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()
Auto Trait Implementations§
impl Freeze for Error
impl RefUnwindSafe for Error
impl Send for Error
impl Sync for Error
impl Unpin for Error
impl UnwindSafe for Error
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