pub enum Error {
Config(String),
Crypto(String),
Transport(String),
Protocol(String),
Storage(String),
Geoip(String),
Io(Error),
}Expand description
Class-tagged error type for the core crate.
Higher layers convert their own error types into one of these classes
(typically Crypto, Protocol, or Transport) so the surface presented
to applications stays compact.
Variants§
Config(String)
Configuration could not be loaded, validated, or applied.
Crypto(String)
A cryptographic primitive or handshake failed.
Transport(String)
A transport-layer failure (WireGuard/UDP, TCP).
Protocol(String)
A protocol-layer violation or unexpected message.
Storage(String)
Persistent storage failed (read, write, schema, etc.).
Geoip(String)
GeoIP DB open / parse / lookup failed (R-REGION.2 / D-5).
Surfaces failures from the operator-supplied
GeoLite2-Country .mmdb file — both file-open / I/O errors
and structural (InvalidDatabase / Decoding) errors fold
into the same String form so downstream callers can match
on the variant without depending on the upstream maxminddb
crate. Per D-5, the cross-check is warn-only at MVP —
callers convert this error class into an audit-log entry
rather than refusing admission.
Io(Error)
An underlying std::io::Error propagated unchanged.
Trait Implementations§
Source§impl Error for Error
impl Error for Error
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()