Enum multipart::server::save::SaveResult[][src]

pub enum SaveResult<Success, Partial> {
    Full(Success),
    Partial(Partial, PartialReason),
    Error(Error),
}
Expand description

The ternary result type used for the SaveBuilder<_> API.

Variants

Full(Success)

The operation was a total success. Contained is the complete result.

Partial(Partial, PartialReason)

The operation quit partway through. Included is the partial result along with the reason.

Error(Error)

An error occurred at the start of the operation, before anything was done.

Implementations

impl<M: ReadEntry> SaveResult<Entries, PartialEntries<M>>[src]

pub fn into_entries(self) -> Option<Entries>[src]

Take the Entries from self, if applicable, and discarding the error, if any.

impl<S, P> SaveResult<S, P> where
    P: Into<S>, 
[src]

pub fn okish(self) -> Option<S>[src]

Convert self to Option<S>; there may still have been an error.

pub fn map<T, Map>(self, map: Map) -> SaveResult<T, T> where
    Map: FnOnce(S) -> T, 
[src]

Map the Full or Partial values to a new type, retaining the reason in the Partial case.

pub fn into_opt_both(self) -> (Option<S>, Option<Error>)[src]

Decompose self to (Option<S>, Option<io::Error>)

pub fn into_result(self) -> Result<S>[src]

Map self to an io::Result, discarding the error in the Partial case.

pub fn into_result_strict(self) -> Result<S>[src]

Pessimistic version of into_result() which will return an error even for the Partial case.

Note: Possible Storage Leak

It’s generally not a good idea to ignore the Partial case, as there may still be a partially written file on-disk. If you’re not using a temporary directory (OS-managed or via TempDir) then partially written files will remain on-disk until explicitly removed which could result in excessive disk usage if not monitored closely.

Trait Implementations

impl<Success: Debug, Partial: Debug> Debug for SaveResult<Success, Partial>[src]

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

Formats the value using the given formatter. Read more

Auto Trait Implementations

impl<Success, Partial> !RefUnwindSafe for SaveResult<Success, Partial>

impl<Success, Partial> Send for SaveResult<Success, Partial> where
    Partial: Send,
    Success: Send

impl<Success, Partial> Sync for SaveResult<Success, Partial> where
    Partial: Sync,
    Success: Sync

impl<Success, Partial> Unpin for SaveResult<Success, Partial> where
    Partial: Unpin,
    Success: Unpin

impl<Success, Partial> !UnwindSafe for SaveResult<Success, Partial>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

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

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

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

Performs the conversion.

impl<T> Typeable for T where
    T: Any

fn get_type(&self) -> TypeId

Get the TypeId of this object.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 

pub fn vzip(self) -> V

impl<T> DebugAny for T where
    T: Any + Debug

impl<T> UnsafeAny for T where
    T: Any