pub enum PeerError {
NoPeerPlane,
MalformedHandle,
MissingAudience,
HandleNotValid,
HandleExpired,
NotFound,
OutsideRoot,
SymlinkRefused,
NotARegularFile,
TooLarge {
max_bytes: u64,
},
MethodNotAllowed,
IoError(String),
}Expand description
Every way a redeem can be refused, in the vocabulary the caller and the trace share.
Variants§
NoPeerPlane
The manifest declares no exports.peer_files. Absent means deny.
MalformedHandle
MissingAudience
HandleNotValid
The MAC did not verify — for any reason. Deliberately indivisible; see verify.
HandleExpired
NotFound
OutsideRoot
SymlinkRefused
NotARegularFile
TooLarge
MethodNotAllowed
IoError(String)
Implementations§
Source§impl PeerError
impl PeerError
Sourcepub fn code(&self) -> &'static str
pub fn code(&self) -> &'static str
The stable error string in the JSON body and the outcome in the trace — one vocabulary
for both, so a refusal an auditor reads is spelled the way the caller saw it.
pub fn status(&self) -> u16
Sourcepub fn message(&self) -> String
pub fn message(&self) -> String
One sentence per code. PeerError::HandleNotValid’s is a fixed string with nothing
interpolated into it: three different causes must produce byte-identical bodies.
Trait Implementations§
impl Eq for PeerError
Source§impl From<HandleError> for PeerError
impl From<HandleError> for PeerError
Source§fn from(error: HandleError) -> Self
fn from(error: HandleError) -> Self
Source§impl From<ResourceError> for PeerError
impl From<ResourceError> for PeerError
Source§fn from(error: ResourceError) -> Self
fn from(error: ResourceError) -> Self
The reader’s refusals, restated in the peer plane’s vocabulary.
NoResourcePlane and MethodNotAllowed cannot arrive here — the reader is called with a
declared export and the method was settled before routing — but they are mapped rather
than panicked on so a later caller cannot turn a wrong call into a crash.
impl StructuralPartialEq for PeerError
Auto Trait Implementations§
impl Forget for PeerError
impl Freeze for PeerError
impl Move for PeerError
impl RefUnwindSafe for PeerError
impl Send for PeerError
impl Sync for PeerError
impl Unpin for PeerError
impl UnsafeUnpin for PeerError
impl UnwindSafe for PeerError
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more