forked from NationTech/harmony
Co-authored-by: Jean-Gabriel Gill-Couture <jeangabriel.gc@gmail.com> Co-authored-by: Ian Letourneau <ian@noma.to> Reviewed-on: https://git.nationtech.io/NationTech/harmony/pulls/130 Reviewed-by: Ian Letourneau <ian@noma.to> Co-authored-by: Jean-Gabriel Gill-Couture <jg@nationtech.io> Co-committed-by: Jean-Gabriel Gill-Couture <jg@nationtech.io>
31 lines
1.1 KiB
Rust
31 lines
1.1 KiB
Rust
#[derive(Debug, PartialEq)]
|
|
pub enum DhcpError {
|
|
InvalidMacAddress(String),
|
|
InvalidIpAddress(String),
|
|
IpAddressAlreadyMapped(String),
|
|
MacAddressAlreadyMapped(String),
|
|
IpAddressOutOfRange(String),
|
|
Configuration(String),
|
|
}
|
|
|
|
impl std::fmt::Display for DhcpError {
|
|
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
|
|
match self {
|
|
DhcpError::InvalidMacAddress(mac) => write!(f, "Invalid MAC address format: {}", mac),
|
|
DhcpError::InvalidIpAddress(ip) => write!(f, "Invalid IP address format: {}", ip),
|
|
DhcpError::IpAddressAlreadyMapped(ip) => {
|
|
write!(f, "IP address {} is already mapped", ip)
|
|
}
|
|
DhcpError::MacAddressAlreadyMapped(mac) => {
|
|
write!(f, "MAC address {} is already mapped", mac)
|
|
}
|
|
DhcpError::IpAddressOutOfRange(ip) => {
|
|
write!(f, "IP address {} is out of interface range", ip)
|
|
}
|
|
DhcpError::Configuration(msg) => f.write_str(&msg),
|
|
}
|
|
}
|
|
}
|
|
|
|
impl std::error::Error for DhcpError {}
|