use std::time::Duration;
use tcp_handler::protocols::common::{PacketError, StarterError};
use thiserror::Error;
#[derive(Error, Debug)]
pub enum Error {
#[error("Network timeout: {} after {1:?}.", if *.0 { "Connecting" } else { "Receiving" })]
Timeout(bool, Duration),
#[error("During io packet: {0}")]
StarterError(#[from] StarterError),
#[error("During io packet: {0}")]
PacketError(#[from] PacketError),
#[error("During read/write data: {0}")]
DataError(#[from] std::io::Error),
#[error("The server is not available.")]
ServerDenied,
}
pub type Result<T> = std::result::Result<T, Error>;