async_arp/
error.rs

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("{0}")]
8    Opaque(#[from] OpaqueError),
9}
10pub type Result<T> = std::result::Result<T, Error>;
11
12#[derive(ThisError, Debug, Clone, Copy)]
13#[error("Response timeout")]
14pub struct ResponseTimeout;
15
16#[allow(clippy::enum_variant_names)]
17#[derive(ThisError, Debug, Clone, Copy)]
18#[non_exhaustive]
19pub enum InputBuildError {
20    #[error("sender MAC address is required")]
21    MissingSenderMac,
22    #[error("sender IP address is required")]
23    MissingSenderIp,
24    #[error("target MAC address is required")]
25    MissingTargetMac,
26    #[error("target IP address is required")]
27    MissingTargetIp,
28}