EncodedUpload

Struct EncodedUpload 

Source
pub struct EncodedUpload<E, U> { /* private fields */ }
Expand description

A type for creating, building, and completing a multipart upload.

This composes a PartEncoder in front of a multipart upload in order to build the part upload request body from an arbitrary Item. Parts are uploaded according the target part size this value is configured with.

This writer itself is reusable, i.e., one can continue writing Items after completing an upload, if and only if U is.

Trait Implementations§

Source§

impl<E, U> Debug for EncodedUpload<E, U>
where E: Debug, U: Debug,

Source§

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

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

impl<Item, E, U> FusedMultipartWrite<Item> for EncodedUpload<E, U>
where E: PartEncoder<Item>, U: FusedMultipartWrite<PartBody, Ret = UploadSent, Error = Error, Output = CompletedUpload>,

Source§

fn is_terminated(&self) -> bool

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

impl<Item, E, U> MultipartWrite<Item> for EncodedUpload<E, U>
where E: PartEncoder<Item>, U: MultipartWrite<PartBody, Ret = UploadSent, Error = Error, Output = CompletedUpload>,

Source§

type Ret = Status

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: Item) -> 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, E, U> Unpin for EncodedUpload<E, U>
where PinnedFieldsOf<__EncodedUpload<'pin, E, U>>: Unpin,

Auto Trait Implementations§

§

impl<E, U> Freeze for EncodedUpload<E, U>
where U: Freeze, E: Freeze,

§

impl<E, U> RefUnwindSafe for EncodedUpload<E, U>

§

impl<E, U> Send for EncodedUpload<E, U>
where U: Send, E: Send,

§

impl<E, U> Sync for EncodedUpload<E, U>
where U: Sync, E: Sync,

§

impl<E, U> UnwindSafe for EncodedUpload<E, U>
where U: UnwindSafe, 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.

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