use thiserror::Error;
#[derive(Error, Debug)]
pub enum HiveDiscoError {
#[error("Network error: {0}")]
NetworkError(String),
#[error("mDNS error: {0}")]
MdnsError(#[from] mdns_sd::Error),
#[error("I/O error: {0}")]
IoError(#[from] std::io::Error),
#[error("Discovery shutdown error: {0}")]
ShutdownError(String),
#[error("Configuration error: {0}")]
ConfigError(String),
#[error("State error: {0}")]
StateError(String),
}
pub type Result<T> = std::result::Result<T, HiveDiscoError>;