diff options
author | Tony Arcieri <bascule@gmail.com> | 2022-01-22 16:49:27 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-01-22 16:49:27 -0700 |
commit | fc208141e214d9495585039f64d1911c9de21576 (patch) | |
tree | 021c7e0c9ef55c838d0ea9974e39906c9bf99060 /spake2/src/error.rs | |
parent | 807246b45c9df09c4fab0a36f2148b2b0a0fc992 (diff) | |
download | PAKEs-fc208141e214d9495585039f64d1911c9de21576.tar.xz |
spake2: refactor internals (#91)
Splits the crate apart into multiple modules
Diffstat (limited to 'spake2/src/error.rs')
-rw-r--r-- | spake2/src/error.rs | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/spake2/src/error.rs b/spake2/src/error.rs new file mode 100644 index 0000000..fca3d64 --- /dev/null +++ b/spake2/src/error.rs @@ -0,0 +1,32 @@ +//! Error types. + +use core::fmt; + +/// [`Result`][`core::result::Result`] type with `spake2`'s [`Error`] type. +pub type Result<T> = core::result::Result<T, Error>; + +/// SPAKE2 errors. +#[derive(Copy, Clone, Debug, Eq, PartialEq)] +pub enum Error { + /// Bad side + BadSide, + + /// Corrupt message + CorruptMessage, + + /// Wrong length + WrongLength, +} + +impl fmt::Display for Error { + fn fmt(&self, fmt: &mut fmt::Formatter<'_>) -> fmt::Result { + match self { + Error::BadSide => fmt.write_str("bad side"), + Error::CorruptMessage => fmt.write_str("corrupt message"), + Error::WrongLength => fmt.write_str("invalid length"), + } + } +} + +#[cfg(feature = "std")] +impl std::error::Error for Error {} |