Skip to main content

eggress_udp/
error.rs

1use thiserror::Error;
2
3#[derive(Debug, Error)]
4pub enum UdpError {
5    #[error("association limit exceeded")]
6    AssociationLimitExceeded,
7    #[error("per-listener association limit exceeded")]
8    ListenerAssociationLimitExceeded,
9    #[error("target flow limit exceeded")]
10    TargetFlowLimitExceeded,
11    #[error("datagram too large: {0} > {1}")]
12    DatagramTooLarge(usize, usize),
13    #[error("codec error: {0}")]
14    Codec(#[from] eggress_protocol_socks::socks5::udp_codec::UdpCodecError),
15    #[error("IO error: {0}")]
16    Io(#[from] std::io::Error),
17    #[error("association closed")]
18    AssociationClosed,
19    #[error("client address mismatch")]
20    ClientAddressMismatch,
21    #[error("unresolved target")]
22    UnresolvedTarget,
23    #[error("multicast target not allowed")]
24    MulticastTarget,
25    #[error("broadcast target not allowed")]
26    BroadcastTarget,
27    #[error("unspecified target not allowed")]
28    UnspecifiedTarget,
29    #[error("port zero not allowed")]
30    PortZero,
31    #[error("{0}")]
32    Other(String),
33}