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}