redoubt_codec_core/
error.rs1use alloc::string::String;
6
7use core::error;
8use core::fmt;
9
10use thiserror::Error;
11
12#[derive(Debug, Error, Eq, PartialEq)]
13pub enum RedoubtCodecBufferError {
14 #[error("CapacityExceeded")]
15 CapacityExceeded,
16}
17
18#[derive(Debug, Error, Eq, PartialEq)]
19pub enum DecodeBufferError {
20 #[error("OutOfBounds")]
21 OutOfBounds,
22}
23
24#[derive(Debug, Error, Eq, PartialEq)]
25pub enum EncodeError {
26 #[error("OverflowError: {0}")]
27 OverflowError(#[from] OverflowError),
28
29 #[error("RedoubtCodecBufferError: {0}")]
30 RedoubtCodecBufferError(#[from] RedoubtCodecBufferError),
31
32 #[cfg(any(test, feature = "test-utils"))]
36 #[error("IntentionalEncodeError")]
37 IntentionalEncodeError,
38}
39
40#[derive(Debug, Error, Eq, PartialEq)]
41pub enum DecodeError {
42 #[error("DecodeBufferError: {0}")]
43 DecodeBufferError(#[from] DecodeBufferError),
44
45 #[error("PreconditionViolated")]
46 PreconditionViolated,
47
48 #[cfg(any(test, feature = "test-utils"))]
52 #[error("IntentionalDecodeError")]
53 IntentionalDecodeError,
54}
55
56#[derive(Debug, PartialEq, Eq)]
57pub struct OverflowError {
58 pub reason: String,
59}
60
61impl fmt::Display for OverflowError {
62 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
63 write!(f, "Overflow Error")
64 }
65}
66
67impl error::Error for OverflowError {}