#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum DnsError {
ResolutionFailed(i32),
NoAddressesFound,
InvalidHostname,
Unsupported,
OsError(i32),
}
impl core::fmt::Display for DnsError {
fn fmt(
&self,
f: &mut core::fmt::Formatter<'_>,
) -> core::fmt::Result {
match self {
Self::ResolutionFailed(code) => write!(f, "DNS resolution failed: {code}"),
Self::NoAddressesFound => write!(f, "no addresses found for hostname"),
Self::InvalidHostname => write!(f, "invalid hostname"),
Self::Unsupported => write!(f, "DNS operation not supported"),
Self::OsError(code) => write!(f, "OS error: {code}"),
}
}
}