Upload

Struct Upload 

Source
pub struct Upload<Buf> { /* private fields */ }
Expand description

A type to manage the lifecycle of a multipart upload.

This MultipartWrite sends part upload requests from the input PartBody and completes the upload when polled for completion.

On completion, a new upload is created using the ObjectUriIter it was configured with, which makes the writer available to continue writing parts to with a new upload ID. As long as the iterator ObjectUriIter can produce the next upload, this writer remains active.

Trait Implementations§

Source§

impl<Buf: Debug> Debug for Upload<Buf>

Source§

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

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

impl<Buf> FusedMultipartWrite<PartBody> for Upload<Buf>
where Buf: MultipartWrite<SendUploadPart, Output = CompletedParts, Error = Error>,

Source§

fn is_terminated(&self) -> bool

Returns true if the writer should no longer be polled.
Source§

impl<Buf> MultipartWrite<PartBody> for Upload<Buf>
where Buf: MultipartWrite<SendUploadPart, Error = Error, Output = CompletedParts>,

Source§

type Ret = UploadSent

The type of value returned when writing the part began successfully.
Source§

type Error = Error

The type of value returned when an operation fails.
Source§

type Output = CompletedUpload

The type of value returned when all parts are written.
Source§

fn poll_ready(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Result<()>>

Attempts to prepare the MultipartWrite to receive a new part. Read more
Source§

fn start_send(self: Pin<&mut Self>, part: PartBody) -> Result<Self::Ret>

Begin the process of writing a part to this writer, returning the associated type confirming this was done successfully. Read more
Source§

fn poll_flush(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Result<()>>

Flush any remaining output from the writer. Read more
Source§

fn poll_complete( self: Pin<&mut Self>, cx: &mut Context<'_>, ) -> Poll<Result<Self::Output>>

Complete this writer, returning the output. Read more
Source§

impl<'pin, Buf> Unpin for Upload<Buf>
where PinnedFieldsOf<__Upload<'pin, Buf>>: Unpin,

Auto Trait Implementations§

§

impl<Buf> Freeze for Upload<Buf>
where Buf: Freeze,

§

impl<Buf> !RefUnwindSafe for Upload<Buf>

§

impl<Buf> !Send for Upload<Buf>

§

impl<Buf> !Sync for Upload<Buf>

§

impl<Buf> !UnwindSafe for Upload<Buf>

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.

Source§

impl<T> Instrument for T

Source§

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

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

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> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<Unshared, Shared> IntoShared<Shared> for Unshared
where Shared: FromUnshared<Unshared>,

Source§

fn into_shared(self) -> Shared

Creates a shared type from an unshared type.
Source§

impl<Wr, Part> MultipartWriteExt<Part> for Wr
where Wr: MultipartWrite<Part>,

Source§

fn and_then<T, E, Fut, F>(self, f: F) -> AndThen<Self, Fut, F>
where F: FnMut(Self::Output) -> Fut, Fut: Future<Output = Result<T, E>>, E: From<Self::Error>, Self: Sized,

Compute from this writer’s output type a new output of a different type using an asynchronous closure. Read more
Source§

fn boxed<'a>( self, ) -> Pin<Box<dyn MultipartWrite<Part, Error = Self::Error, Ret = Self::Ret, Output = Self::Output> + Send + 'a>>
where Self: Sized + Send + 'a,

Wrap this writer in a Box, pinning it.
Source§

fn boxed_local<'a>( self, ) -> Pin<Box<dyn MultipartWrite<Part, Error = Self::Error, Ret = Self::Ret, Output = Self::Output> + 'a>>
where Self: Sized + 'a,

Wrap this writer in a Box, pinning it. Read more
Source§

fn buffered(self, capacity: impl Into<Option<usize>>) -> Buffered<Self, Part>
where Self: Sized,

Adds a fixed size buffer to the current writer. Read more
Source§

fn complete(&mut self) -> Complete<'_, Self, Part>
where Self: Unpin,

A future that runs this writer to completion, returning the associated output.
Source§

fn fanout<U>(self, other: U) -> Fanout<Self, U, Part>
where Part: Clone, U: MultipartWrite<Part, Error = Self::Error>, Self: Sized,

Fanout the part to multiple writers. Read more
Source§

fn feed(&mut self, part: Part) -> Feed<'_, Self, Part>
where Self: Unpin,

A future that completes after the given part has been received by the writer. Read more
Source§

fn filter<F>(self, f: F) -> Filter<Self, F>
where F: FnMut(&Part) -> bool, Self: Sized,

Apply a filter to this writer’s parts, returning a new writer with the same output. Read more
Source§

fn filter_map<U, F>(self, f: F) -> FilterMap<Self, F>
where F: FnMut(U) -> Option<Part>, Self: Sized,

Attempt to map the input to a part for this writer, filtering out the inputs where the mapping returns None. Read more
Source§

fn flush(&mut self) -> Flush<'_, Self, Part>
where Self: Unpin,

A future that completes when the underlying writer has been flushed.
Source§

fn fold_ret<T, F>(self, id: T, f: F) -> FoldRet<Self, T, F>
where F: FnMut(T, &Self::Ret) -> T, Self: Sized,

Accumulate this writer’s returned values, returning a new multipart writer that pairs the underlying writer’s output with the result of the accumulating function.
Source§

fn fuse<F>(self, f: F) -> Fuse<Self, F>
where F: FnMut(&Self::Output) -> bool, Self: Sized,

Returns a new writer that fuses according to the provided closure. Read more
Source§

fn lift<U, T>(self, other: U) -> Lift<Self, U, Part>
where Self: Sized, Self::Error: From<<U as MultipartWrite<T>>::Error>, U: MultipartWrite<T, Output = Part>,

“Lift” the multipart writer U in front of this one. Read more
Source§

fn map_err<E, F>(self, f: F) -> MapErr<Self, F>
where F: FnMut(Self::Error) -> E, Self: Sized,

Map this writer’s error type to a different value, returning a new multipart writer with the given error type.
Source§

fn map_ok<U, F>(self, f: F) -> MapOk<Self, F>
where F: FnMut(Self::Output) -> U, Self: Sized,

Map this writer’s output type to a different type, returning a new multipart writer with the given output type.
Source§

fn map_ret<U, F>(self, f: F) -> MapRet<Self, F>
where F: FnMut(Self::Ret) -> U, Self: Sized,

Map this writer’s return type to a different value, returning a new multipart writer with the given return type.
Source§

fn poll_ready_unpin( &mut self, cx: &mut Context<'_>, ) -> Poll<Result<(), Self::Error>>
where Self: Unpin,

A convenience method for calling MultipartWrite::poll_ready on Unpin writer types.
Source§

fn poll_flush_unpin( &mut self, cx: &mut Context<'_>, ) -> Poll<Result<(), Self::Error>>
where Self: Unpin,

A convenience method for calling MultipartWrite::poll_flush on Unpin writer types.
Source§

fn poll_complete_unpin( &mut self, cx: &mut Context<'_>, ) -> Poll<Result<Self::Output, Self::Error>>
where Self: Unpin,

A convenience method for calling MultipartWrite::poll_complete on Unpin writer types.
Source§

fn send_part(&mut self, part: Part) -> SendPart<'_, Self, Part>
where Self: Unpin,

A future that completes when a part has been fully processed into the writer, including flushing.
Source§

fn then<T, E, Fut, F>(self, f: F) -> Then<Self, Fut, F>
where F: FnMut(Result<Self::Output, Self::Error>) -> Fut, Fut: Future<Output = Result<T, E>>, E: From<Self::Error>, Self: Sized,

Chain an asynchronous computation on the result of polling the writer for completion.
Source§

fn with<U, E, Fut, F>(self, f: F) -> With<Self, Part, Fut, F>
where F: FnMut(U) -> Fut, Fut: Future<Output = Result<Part, E>>, E: From<Self::Error>, Self: Sized,

Provide a part to this writer in the output of a future. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
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.
Source§

impl<Part, Wr> UploadWriteExt<Part> for Wr
where Wr: MultipartWrite<Part>,

Source§

fn upload(self, client: &UploadClient, iter: ObjectUriIter) -> Upload<Self>
where Self: MultipartWrite<SendUploadPart, Error = UploadError, Output = CompletedParts> + Sized,

Returns a new MultipartWrite that uploads to a multipart upload, using this writer as a buffer for request futures.
Source§

fn encoded_upload<E>( self, encoder: E, bytes: ByteSize, part_bytes: ByteSize, ) -> EncodedUpload<E, Self>
where Self: MultipartWrite<PartBody, Ret = UploadSent, Error = UploadError, Output = CompletedUpload> + Sized,

Transform this MultipartWrite by composing a PartEncoder in front of it, resulting in a new one over any type of value that the encoder is capable of writing.
Source§

impl<T> WithSubscriber for T

Source§

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
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

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