1use thiserror::Error;
4
5#[derive(Debug, Error)]
7pub enum CodecError {
8 #[error("IO error: {0}")]
10 Io(#[from] std::io::Error),
11
12 #[error("protocol error: {0}")]
14 Protocol(#[from] tds_protocol::ProtocolError),
15
16 #[error("packet too large: {size} bytes (max {max})")]
18 PacketTooLarge {
19 size: usize,
21 max: usize,
23 },
24
25 #[error("incomplete packet: need {needed} more bytes")]
27 IncompletePacket {
28 needed: usize,
30 },
31
32 #[error("invalid packet header")]
34 InvalidHeader,
35
36 #[error("connection closed")]
38 ConnectionClosed,
39
40 #[error("encoding error: {0}")]
42 Encoding(String),
43
44 #[error("decoding error: {0}")]
46 Decoding(String),
47}