[−][src]Enum multipart::server::save::SaveResult
pub enum SaveResult<Success, Partial> { Full(Success), Partial(Partial, PartialReason), Error(Error), }
The ternary result type used for the SaveBuilder<_>
API.
Variants
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.
Methods
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][−]
P: Into<S>,
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: FnOnce(S) -> T,
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
Auto Trait Implementations
impl<Success, Partial> !RefUnwindSafe for SaveResult<Success, Partial>
impl<Success, Partial> Send for SaveResult<Success, Partial> where
Partial: Send,
Success: Send,
Partial: Send,
Success: Send,
impl<Success, Partial> Sync for SaveResult<Success, Partial> where
Partial: Sync,
Success: Sync,
Partial: Sync,
Success: Sync,
impl<Success, Partial> Unpin for SaveResult<Success, Partial> where
Partial: Unpin,
Success: Unpin,
Partial: Unpin,
Success: Unpin,
impl<Success, Partial> !UnwindSafe for SaveResult<Success, Partial>
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src][+]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
impl<T> From<T> for T
[src][+]
impl<T, U> Into<U> for T where
U: From<T>,
[src][+]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src][+]
U: Into<T>,
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src][+]
U: TryFrom<T>,