pub enum ReadRefusal {
Missing,
NotRegular,
TooLarge,
Io(Error),
}Expand description
What:
Why a no-follow read refused a path.
An enum is a closed set of alternatives.
Why:
A missing file is an expected answer for optional records;
a link,
a directory or an
over-long file is unsafe or corrupt state that recovery must name,
never follow.
In TS you’d write (pseudocode):
type ReadRefusal = { kind: 'missing' } | { kind: 'not-regular' } | { kind: 'too-large' } | { kind: 'io'; error: Error };Variants§
Missing
Nothing exists at the path.
NotRegular
The path names a link, directory or other non-regular file.
TooLarge
The file holds more bytes than the caller allows.
Io(Error)
The operating system refused the read for another reason.
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for ReadRefusal
impl !UnwindSafe for ReadRefusal
impl Freeze for ReadRefusal
impl Send for ReadRefusal
impl Sync for ReadRefusal
impl Unpin for ReadRefusal
impl UnsafeUnpin for ReadRefusal
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
Mutably borrows from an owned value. Read more
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> ⓘ
Converts
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> ⓘ
Converts
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