use thiserror::Error;
#[derive(Error, Debug)]
pub enum RkikError {
#[error("dns: {0}")]
Dns(String),
#[error("network: {0}")]
Network(String),
#[error("protocol: {0}")]
Protocol(String),
#[error(transparent)]
Io(#[from] std::io::Error),
#[error("other: {0}")]
Other(String),
}
impl From<rsntp::SynchronizationError> for RkikError {
fn from(err: rsntp::SynchronizationError) -> Self {
match err {
rsntp::SynchronizationError::IOError(e) => RkikError::Network(e.to_string()),
rsntp::SynchronizationError::ProtocolError(e) => RkikError::Protocol(e.to_string()),
}
}
}