ergo_rest/
error.rs

1use crate::reqwest;
2use derive_more::From;
3use thiserror::Error;
4
5/// Possible errors during the communication with node
6#[derive(Error, Debug)]
7pub enum NodeError {
8    /// reqwest error
9    #[error("reqwest error: {0}")]
10    ReqwestError(#[from] reqwest::Error),
11    /// Invalid numerical URL segment
12    #[error("Invalid numerical URL segment")]
13    InvalidNumericalUrlSegment,
14}
15
16#[derive(Debug, Error, From)]
17/// Peer discovery error
18pub enum PeerDiscoveryError {
19    /// `Url` error
20    #[error("URL error")]
21    UrlError,
22    /// mpsc sender error
23    #[error("MPSC sender error")]
24    MpscSender,
25    /// tokio::spawn `JoinError`
26    #[error("Join error")]
27    JoinError,
28    /// task spawn error
29    #[error("Task spawn error")]
30    TaskSpawn,
31    /// IO error
32    #[error("IO error")]
33    IO(std::io::Error),
34    /// Timeout duration is too short
35    #[error("Timeout duration is too short")]
36    TimeoutTooShort,
37    /// There aren't any node requests to be made
38    #[error("There aren't any node requests to be made")]
39    NoPendingNodeRequests,
40}