crypto_core/error/
aead.rs1#[derive(Debug, Clone, Copy, PartialEq, Eq)]
7#[non_exhaustive]
8pub enum AeadBackend {
9 Native,
11 Swift,
13 Wasm,
15 Kotlin,
17}
18
19impl core::fmt::Display for AeadBackend {
20 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
21 let name = match self {
22 AeadBackend::Native => "native",
23 AeadBackend::Swift => "swift",
24 AeadBackend::Wasm => "wasm",
25 AeadBackend::Kotlin => "kotlin",
26 };
27 write!(f, "{name}")
28 }
29}
30
31#[derive(Debug, Clone, Copy, PartialEq, Eq)]
33#[non_exhaustive]
34pub enum AeadFailureKind {
35 InvalidKeyMaterial,
37 LengthOverflow,
39 ShortCiphertext,
41 InvalidOutputLength,
43 AuthenticationFailed,
45 BackendFailure,
47}
48
49impl core::fmt::Display for AeadFailureKind {
50 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
51 let detail = match self {
52 AeadFailureKind::InvalidKeyMaterial => "invalid key material",
53 AeadFailureKind::LengthOverflow => "length overflow",
54 AeadFailureKind::ShortCiphertext => "ciphertext shorter than tag",
55 AeadFailureKind::InvalidOutputLength => "backend returned invalid output length",
56 AeadFailureKind::AuthenticationFailed => "authentication failed",
57 AeadFailureKind::BackendFailure => "backend failure",
58 };
59 write!(f, "{detail}")
60 }
61}