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> FusedMultipartWrite<PartBody> for Upload<Buf>
impl<Buf> FusedMultipartWrite<PartBody> for Upload<Buf>
Source§fn is_terminated(&self) -> bool
fn is_terminated(&self) -> bool
Returns
true if the writer should no longer be polled.Source§impl<Buf> MultipartWrite<PartBody> for Upload<Buf>
impl<Buf> MultipartWrite<PartBody> for Upload<Buf>
Source§type Ret = UploadSent
type Ret = UploadSent
The type of value returned when writing the part began successfully.
Source§type Output = CompletedUpload
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<()>>
fn poll_ready(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Result<()>>
Attempts to prepare the
MultipartWrite to receive a new part. Read moreSource§fn start_send(self: Pin<&mut Self>, part: PartBody) -> Result<Self::Ret>
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
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> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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 moreCreates a shared type from an unshared type.
Source§impl<Wr, Part> MultipartWriteExt<Part> for Wrwhere
Wr: MultipartWrite<Part>,
impl<Wr, Part> MultipartWriteExt<Part> for Wrwhere
Wr: MultipartWrite<Part>,
Source§fn and_then<T, E, Fut, F>(self, f: F) -> AndThen<Self, Fut, F>
fn and_then<T, E, Fut, F>(self, f: F) -> AndThen<Self, Fut, F>
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>>
fn boxed<'a>( self, ) -> Pin<Box<dyn MultipartWrite<Part, Error = Self::Error, Ret = Self::Ret, Output = Self::Output> + 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,
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 moreSource§fn buffered(self, capacity: impl Into<Option<usize>>) -> Buffered<Self, Part>where
Self: Sized,
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,
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>
fn fanout<U>(self, other: U) -> Fanout<Self, U, Part>
Fanout the part to multiple writers. Read more
Source§fn feed(&mut self, part: Part) -> Feed<'_, Self, Part>where
Self: Unpin,
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>
fn filter<F>(self, f: F) -> Filter<Self, F>
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>
fn filter_map<U, F>(self, f: F) -> FilterMap<Self, F>
Attempt to map the input to a part for this writer, filtering out the
inputs where the mapping returns
None. Read moreSource§fn flush(&mut self) -> Flush<'_, Self, Part>where
Self: Unpin,
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>
fn fold_ret<T, F>(self, id: T, f: F) -> FoldRet<Self, T, F>
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>
fn fuse<F>(self, f: F) -> Fuse<Self, F>
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>,
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 moreSource§fn map_err<E, F>(self, f: F) -> MapErr<Self, F>
fn map_err<E, F>(self, f: F) -> MapErr<Self, F>
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>
fn map_ok<U, F>(self, f: F) -> MapOk<Self, F>
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>
fn map_ret<U, F>(self, f: F) -> MapRet<Self, F>
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,
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,
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,
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,
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§impl<Part, Wr> UploadWriteExt<Part> for Wrwhere
Wr: MultipartWrite<Part>,
impl<Part, Wr> UploadWriteExt<Part> for Wrwhere
Wr: MultipartWrite<Part>,
Source§fn upload(self, client: &UploadClient, iter: ObjectUriIter) -> Upload<Self>
fn upload(self, client: &UploadClient, iter: ObjectUriIter) -> Upload<Self>
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,
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.