1use amqp_codec::{protocol, AmqpCodecError, ProtocolIdError};
2
3#[derive(Debug, Display, Clone)]
4pub enum AmqpTransportError {
5 Codec(AmqpCodecError),
6 TooManyChannels,
7 Disconnected,
8 Timeout,
9 #[display(fmt = "Connection closed, error: {:?}", _0)]
10 Closed(Option<protocol::Error>),
11 #[display(fmt = "Session ended, error: {:?}", _0)]
12 SessionEnded(Option<protocol::Error>),
13 #[display(fmt = "Link detached, error: {:?}", _0)]
14 LinkDetached(Option<protocol::Error>),
15}
16
17impl From<AmqpCodecError> for AmqpTransportError {
18 fn from(err: AmqpCodecError) -> Self {
19 AmqpTransportError::Codec(err)
20 }
21}
22
23#[derive(Debug, Display, From)]
24pub enum SaslConnectError {
25 Protocol(ProtocolIdError),
26 AmqpError(AmqpCodecError),
27 #[display(fmt = "Sasl error code: {:?}", _0)]
28 Sasl(protocol::SaslCode),
29 ExpectedOpenFrame,
30 Disconnected,
31}