hopr_transport_network/
errors.rs

1use libp2p_identity::PeerId;
2use thiserror::Error;
3
4/// Errors that can be generated by the crate.
5#[derive(Error, Debug)]
6pub enum NetworkingError {
7    #[error("the network operation timed out after {0} seconds")]
8    Timeout(u64),
9
10    #[error("error in the messaging sub-protocol: {0}")]
11    MessagingError(String),
12
13    #[error("error while decoding message data")]
14    DecodingError,
15
16    #[error("performing an operation on own PeerId")]
17    DisallowedOperationOnOwnPeerIdError,
18
19    #[error("db error: {0}")]
20    DbError(#[from] hopr_db_api::errors::DbError),
21
22    #[error("peer does not exist")]
23    NonExistingPeer,
24
25    #[error("error while pinging peer {0}: {1}")]
26    PingerError(PeerId, String),
27
28    #[error("{0}")]
29    Other(String),
30}
31
32/// Result built on top of the crate error [NetworkingError]
33pub type Result<T> = core::result::Result<T, NetworkingError>;