#![deny(missing_docs)]
#![allow(missing_docs)]
use ockam_core::{
errcode::{Kind, Origin},
Error,
};
#[derive(Clone, Copy, Debug)]
pub enum OckamError {
InvalidResponseFromRelayService,
InvalidParameter,
NoSuchProtocol,
SystemAddressNotBound,
SystemInvalidConfiguration,
UnknownForwarderDestinationAddress,
UnknownForwarderNextHopAddress,
InvalidHex,
}
impl ockam_core::compat::error::Error for OckamError {}
impl core::fmt::Display for OckamError {
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
core::fmt::Debug::fmt(self, f)
}
}
impl From<OckamError> for Error {
#[track_caller]
fn from(err: OckamError) -> Error {
use OckamError::*;
let kind = match err {
SystemAddressNotBound | SystemInvalidConfiguration | InvalidParameter => Kind::Misuse,
_ => Kind::Protocol,
};
Error::new(Origin::Ockam, kind, err)
}
}