moonpool_transport/peer/
error.rs1use std::io;
4use thiserror::Error;
5
6#[derive(Error, Debug, Clone)]
8pub enum PeerError {
9 #[error("Connection to peer failed")]
11 ConnectionFailed,
12
13 #[error("Connection lost during operation")]
15 ConnectionLost,
16
17 #[error("Message queue is full, cannot queue more messages")]
19 QueueFull,
20
21 #[error("Peer is disconnected")]
23 Disconnected,
24
25 #[error("Connection timeout")]
27 Timeout,
28
29 #[error("I/O error: {0}")]
31 Io(String),
32
33 #[error("Invalid operation: {0}")]
35 InvalidOperation(String),
36
37 #[error("Receiver has been taken")]
39 ReceiverTaken,
40}
41
42impl From<io::Error> for PeerError {
43 fn from(error: io::Error) -> Self {
44 PeerError::Io(error.to_string())
45 }
46}
47
48pub type PeerResult<T> = Result<T, PeerError>;