Menu
Public repository / 9ce6c718f5e451cc16b78b1951305378f8662658
AkurAI-VPN / crates/akurai-node/src/error.rs
Latest change 54a1c16dd2ce3b19115d018e216aaf2f742e3d74 - release: v0.0.7 by Claude Code
//! Node daemon error type.
use std::fmt;
/// Errors surfaced by the node daemon. In 0.0.1 the data-plane operations are
/// all [`NodeError::NotImplemented`]; argument problems are
/// [`NodeError::Usage`].
#[derive(Debug, Clone, PartialEq, Eq)]
pub enum NodeError {
/// Filesystem or process I/O failed.
Io(String),
/// A command-line usage problem.
Usage(String),
}
impl fmt::Display for NodeError {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
match self {
NodeError::Io(msg) => write!(f, "{msg}"),
NodeError::Usage(msg) => write!(f, "{msg}"),
}
}
}
impl std::error::Error for NodeError {}
impl From<std::io::Error> for NodeError {
fn from(value: std::io::Error) -> Self {
NodeError::Io(value.to_string())
}
}