Skip to main content

WriteError

Enum WriteError 

Source
pub enum WriteError<E> {
    BeforeCommit(E),
    AfterCommit(E),
}
Expand description

A failed atomic write, tagged with whether the write had already committed.

The distinction is what a caller holding in-memory state needs: after WriteError::committed the bytes are installed and readers already see them, so the caller’s own copy must move forward even though the call failed. Before commit the target file is untouched and the caller keeps what it had.

Variants§

§

BeforeCommit(E)

The target file is untouched; nothing was installed.

§

AfterCommit(E)

The rename landed and readers see the new bytes; only the durability work that follows it failed.

Implementations§

Source§

impl<E> WriteError<E>

Source

pub fn committed(&self) -> bool

Whether the new bytes are already installed at the target path.

Source

pub fn into_inner(self) -> E

Source

pub fn map<F>(self, convert: impl FnOnce(E) -> F) -> WriteError<F>

Convert the payload, preserving the commit phase.

Trait Implementations§

Source§

impl<E: Debug> Debug for WriteError<E>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<E: Display> Display for WriteError<E>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<E: Error + 'static> Error for WriteError<E>

Source§

fn source(&self) -> Option<&(dyn Error + 'static)>

Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · Source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
Source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more

Auto Trait Implementations§

§

impl<E> Freeze for WriteError<E>
where E: Freeze,

§

impl<E> RefUnwindSafe for WriteError<E>
where E: RefUnwindSafe,

§

impl<E> Send for WriteError<E>
where E: Send,

§

impl<E> Sync for WriteError<E>
where E: Sync,

§

impl<E> Unpin for WriteError<E>
where E: Unpin,

§

impl<E> UnsafeUnpin for WriteError<E>
where E: UnsafeUnpin,

§

impl<E> UnwindSafe for WriteError<E>
where E: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more