ez_bencoding/
error.rs

1use thiserror::Error;
2
3#[derive(Debug, Clone, Error)]
4pub enum BdecodeError {
5    #[error("Expected digit in bencoded string at position '{0}' .")]
6    ExpectedDigit(usize),
7
8    #[error("Expected colon in bencoded string between '[{0}, {1})' .")]
9    ExpectedColon(usize, usize),
10
11    #[error("Unexpected end of file in bencoded string at position '{0}' .")]
12    UnexpectedEof(usize),
13
14    #[error("Expected value (list, dict, int or string) in bencoded string at position '{0}' .")]
15    ExpectedValue(usize),
16
17    #[error("bencoded recursion depth limit exceeded over '{0}' times.")]
18    DepthExceeded(usize),
19
20    #[error("bencoded limit exceeded over '{0}' .")]
21    LimitExceeded(usize),
22
23    #[error("integer overflow with string '{0}'")]
24    Overflow(String),
25}