1
5
#[derive(thiserror::Error, Debug, Eq, PartialEq, Clone)]
2
pub enum RequestError {
3
    #[error("datagram too short")]
4
    TooShort,
5
    #[error("bad op code ({})", {0})]
6
    BadOpCode(u16),
7
    #[error("filename missing")]
8
    MissingFilename,
9
    #[error("mode missing")]
10
    MissingMode,
11
    #[error("unsupported mode")]
12
    BadMode,
13
    #[error("not a digit ({})", {0})]
14
    BadDigit(u8),
15
    #[error("number out of range")]
16
    NumberOutOfRange,
17
    #[error("missing argument")]
18
    MissingArgument,
19
    #[error("datagram without trailing zero")]
20
    MissingZero,
21
    #[error("write operation not implemented")]
22
    WriteUnsupported,
23
    #[error("operation not supported")]
24
    OperationUnsupported,
25
}
26

            
27
pub type RequestResult<T> = std::result::Result<T, RequestError>;