use crate::reqwest;
use derive_more::From;
use thiserror::Error;
#[derive(Error, Debug)]
pub enum NodeError {
#[error("reqwest error: {0}")]
ReqwestError(#[from] reqwest::Error),
#[error("Invalid numerical URL segment")]
InvalidNumericalUrlSegment,
}
#[derive(Debug, Error, From)]
pub enum PeerDiscoveryError {
#[error("URL error")]
UrlError,
#[error("MPSC sender error")]
MpscSender,
#[error("Join error")]
JoinError,
#[error("Task spawn error")]
TaskSpawn,
#[error("IO error")]
IO(std::io::Error),
#[error("Timeout duration is too short")]
TimeoutTooShort,
#[error("There aren't any node requests to be made")]
NoPendingNodeRequests,
}