Skip to main content

hive_discovery/
error.rs

1use thiserror::Error;
2
3/// Error types that can be produced by the service discovery component.
4#[derive(Error, Debug)]
5pub enum HiveDiscoError {
6    /// Network communication related errors.
7    #[error("Network error: {0}")]
8    NetworkError(String),
9
10    /// mDNS service errors.
11    #[error("mDNS error: {0}")]
12    MdnsError(#[from] mdns_sd::Error),
13
14    /// Standard I/O errors.
15    #[error("I/O error: {0}")]
16    IoError(#[from] std::io::Error),
17
18    /// Errors encountered during service discovery shutdown.
19    #[error("Discovery shutdown error: {0}")]
20    ShutdownError(String),
21    
22    /// Configuration errors.
23    #[error("Configuration error: {0}")]
24    ConfigError(String),
25    
26    /// State errors, indicating an invalid operation for the current state.
27    #[error("State error: {0}")]
28    StateError(String),
29}
30
31/// Result type for the service discovery component.
32pub type Result<T> = std::result::Result<T, HiveDiscoError>;