1use thiserror::Error as ThisError;
2
3pub type OpaqueError = Box<dyn std::error::Error + Send + Sync + 'static>;
4
5#[derive(ThisError, Debug)]
6pub enum Error {
7 #[error("Response timeout")]
8 ResponseTimeout,
9 #[error("{0}")]
10 Opaque(#[from] OpaqueError),
11}
12pub type Result<T> = std::result::Result<T, Error>;
13
14#[allow(clippy::enum_variant_names)]
15#[derive(ThisError, Debug)]
16#[non_exhaustive]
17pub enum InputBuildError {
18 #[error("sender MAC address is required")]
19 MissingSenderMac,
20 #[error("sender IP address is required")]
21 MissingSenderIp,
22 #[error("target MAC address is required")]
23 MissingTargetMac,
24 #[error("target IP address is required")]
25 MissingTargetIp,
26}