Enum tokio_util::either::Either [−][src]
pub enum Either<L, R> { Left(L), Right(R), }
Combines two different futures, streams, or sinks having the same associated types into a single type.
This type implements common asynchronous traits such as Future
and those in Tokio.
Example
The following code will not work:
#[tokio::main] async fn main() { let result = if some_condition() { some_async_function() } else { other_async_function() // <- Will print: "`if` and `else` have incompatible types" }; println!("Result is {}", result.await); }
When the output type is the same, we can wrap each future in Either
to avoid the
issue:
use tokio_util::either::Either; #[tokio::main] async fn main() { let result = if some_condition() { Either::Left(some_async_function()) } else { Either::Right(other_async_function()) }; let value = result.await; println!("Result is {}", value); }
Variants
Trait Implementations
impl<L, R> AsyncBufRead for Either<L, R> where
L: AsyncBufRead,
R: AsyncBufRead,
[src][+]
L: AsyncBufRead,
R: AsyncBufRead,
fn poll_fill_buf(
self: Pin<&mut Self>,
cx: &mut Context<'_>
) -> Poll<Result<&[u8]>>
[src][−]
self: Pin<&mut Self>,
cx: &mut Context<'_>
) -> Poll<Result<&[u8]>>
Attempts to return the contents of the internal buffer, filling it with more data from the inner reader if it is empty. Read more
fn consume(self: Pin<&mut Self>, amt: usize)
[src][−]
impl<L, R> AsyncRead for Either<L, R> where
L: AsyncRead,
R: AsyncRead,
[src][+]
L: AsyncRead,
R: AsyncRead,
fn poll_read(
self: Pin<&mut Self>,
cx: &mut Context<'_>,
buf: &mut ReadBuf<'_>
) -> Poll<Result<()>>
[src][−]
self: Pin<&mut Self>,
cx: &mut Context<'_>,
buf: &mut ReadBuf<'_>
) -> Poll<Result<()>>
Attempts to read from the AsyncRead
into buf
. Read more
impl<L, R> AsyncSeek for Either<L, R> where
L: AsyncSeek,
R: AsyncSeek,
[src][+]
L: AsyncSeek,
R: AsyncSeek,
fn start_seek(self: Pin<&mut Self>, position: SeekFrom) -> Result<()>
[src][−]
Attempts to seek to an offset, in bytes, in a stream. Read more
fn poll_complete(
self: Pin<&mut Self>,
cx: &mut Context<'_>
) -> Poll<Result<u64>>
[src][−]
self: Pin<&mut Self>,
cx: &mut Context<'_>
) -> Poll<Result<u64>>
Waits for a seek operation to complete. Read more
impl<L, R> AsyncWrite for Either<L, R> where
L: AsyncWrite,
R: AsyncWrite,
[src][+]
L: AsyncWrite,
R: AsyncWrite,
fn poll_write(
self: Pin<&mut Self>,
cx: &mut Context<'_>,
buf: &[u8]
) -> Poll<Result<usize>>
[src][−]
self: Pin<&mut Self>,
cx: &mut Context<'_>,
buf: &[u8]
) -> Poll<Result<usize>>
Attempt to write bytes from buf
into the object. Read more
fn poll_flush(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Result<()>>
[src][−]
Attempts to flush the object, ensuring that any buffered data reach their destination. Read more
fn poll_shutdown(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Result<()>>
[src][−]
Initiates or attempts to shut down this writer, returning success when the I/O connection has completely shut down. Read more
pub fn poll_write_vectored(
self: Pin<&mut Self>,
cx: &mut Context<'_>,
bufs: &[IoSlice<'_>]
) -> Poll<Result<usize, Error>>
[src][−]
self: Pin<&mut Self>,
cx: &mut Context<'_>,
bufs: &[IoSlice<'_>]
) -> Poll<Result<usize, Error>>
Like poll_write
, except that it writes from a slice of buffers. Read more
pub fn is_write_vectored(&self) -> bool
[src][−]
Determines if this writer has an efficient poll_write_vectored
implementation. Read more
impl<L: Clone, R: Clone> Clone for Either<L, R>
[src][+]
fn clone(&self) -> Either<L, R>ⓘ
[src][−]
Returns a copy of the value. Read more
pub fn clone_from(&mut self, source: &Self)
1.0.0[src][−]
Performs copy-assignment from source
. Read more
impl<L: Debug, R: Debug> Debug for Either<L, R>
[src][+]
fn fmt(&self, f: &mut Formatter<'_>) -> Result
[src][−]
Formats the value using the given formatter. Read more
impl<L, R, O> Future for Either<L, R> where
L: Future<Output = O>,
R: Future<Output = O>,
[src][+]
L: Future<Output = O>,
R: Future<Output = O>,
type Output = O
The type of value produced on completion.
fn poll(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Self::Output>
[src][−]
Attempt to resolve the future to a final value, registering the current task for wakeup if the value is not yet available. Read more
impl<L, R> Stream for Either<L, R> where
L: Stream,
R: Stream<Item = L::Item>,
[src][+]
L: Stream,
R: Stream<Item = L::Item>,
type Item = L::Item
Values yielded by the stream.
fn poll_next(
self: Pin<&mut Self>,
cx: &mut Context<'_>
) -> Poll<Option<Self::Item>>
[src][−]
self: Pin<&mut Self>,
cx: &mut Context<'_>
) -> Poll<Option<Self::Item>>
Attempt to pull out the next value of this stream, registering the
current task for wakeup if the value is not yet available, and returning
None
if the stream is exhausted. Read more
pub fn size_hint(&self) -> (usize, Option<usize>)
[src][−]
Returns the bounds on the remaining length of the stream. Read more
Auto Trait Implementations
impl<L, R> RefUnwindSafe for Either<L, R> where
L: RefUnwindSafe,
R: RefUnwindSafe,
L: RefUnwindSafe,
R: RefUnwindSafe,
impl<L, R> Send for Either<L, R> where
L: Send,
R: Send,
L: Send,
R: Send,
impl<L, R> Sync for Either<L, R> where
L: Sync,
R: Sync,
L: Sync,
R: Sync,
impl<L, R> Unpin for Either<L, R> where
L: Unpin,
R: Unpin,
L: Unpin,
R: Unpin,
impl<L, R> UnwindSafe for Either<L, R> where
L: UnwindSafe,
R: UnwindSafe,
L: UnwindSafe,
R: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src][+]
T: 'static + ?Sized,
pub fn type_id(&self) -> TypeId
[src][−]
Gets the TypeId
of self
. Read more
impl<R> AsyncBufReadExt for R where
R: AsyncBufRead + ?Sized,
[src][+]
R: AsyncBufRead + ?Sized,
pub fn read_until(
&'a mut self,
byte: u8,
buf: &'a mut Vec<u8, Global>
) -> ReadUntil<'a, Self> where
Self: Unpin,
[src][−]
&'a mut self,
byte: u8,
buf: &'a mut Vec<u8, Global>
) -> ReadUntil<'a, Self> where
Self: Unpin,
Reads all bytes into buf
until the delimiter byte
or EOF is reached. Read more
pub fn read_line(&'a mut self, buf: &'a mut String) -> ReadLine<'a, Self> where
Self: Unpin,
[src][−]
Self: Unpin,
Reads all bytes until a newline (the 0xA byte) is reached, and append them to the provided buffer. Read more
pub fn split(self, byte: u8) -> Split<Self> where
Self: Unpin,
[src][−]
Self: Unpin,
Returns a stream of the contents of this reader split on the byte
byte
. Read more
pub fn lines(self) -> Lines<Self>
[src][−]
Returns a stream over the lines of this reader.
This method is the async equivalent to BufRead::lines
. Read more
impl<R> AsyncReadExt for R where
R: AsyncRead + ?Sized,
[src][+]
R: AsyncRead + ?Sized,
pub fn chain<R>(self, next: R) -> Chain<Self, R> where
R: AsyncRead,
[src][−]
R: AsyncRead,
Creates a new AsyncRead
instance that chains this stream with
next
. Read more
pub fn read(&'a mut self, buf: &'a mut [u8]) -> Read<'a, Self> where
Self: Unpin,
[src][−]
Self: Unpin,
Pulls some bytes from this source into the specified buffer, returning how many bytes were read. Read more
pub fn read_buf<B>(&'a mut self, buf: &'a mut B) -> ReadBuf<'a, Self, B> where
Self: Unpin,
B: BufMut,
[src][−]
Self: Unpin,
B: BufMut,
Pulls some bytes from this source into the specified buffer, advancing the buffer’s internal cursor. Read more
pub fn read_exact(&'a mut self, buf: &'a mut [u8]) -> ReadExact<'a, Self> where
Self: Unpin,
[src][−]
Self: Unpin,
Reads the exact number of bytes required to fill buf
. Read more
pub fn read_u8(&'a mut self) -> ReadU8<&'a mut Self> where
Self: Unpin,
[src][−]
Self: Unpin,
Reads an unsigned 8 bit integer from the underlying reader. Read more
pub fn read_i8(&'a mut self) -> ReadI8<&'a mut Self> where
Self: Unpin,
[src][−]
Self: Unpin,
Reads a signed 8 bit integer from the underlying reader. Read more
pub fn read_u16(&'a mut self) -> ReadU16<&'a mut Self> where
Self: Unpin,
[src][−]
Self: Unpin,
Reads an unsigned 16-bit integer in big-endian order from the underlying reader. Read more
pub fn read_i16(&'a mut self) -> ReadI16<&'a mut Self> where
Self: Unpin,
[src][−]
Self: Unpin,
Reads a signed 16-bit integer in big-endian order from the underlying reader. Read more
pub fn read_u32(&'a mut self) -> ReadU32<&'a mut Self> where
Self: Unpin,
[src][−]
Self: Unpin,
Reads an unsigned 32-bit integer in big-endian order from the underlying reader. Read more
pub fn read_i32(&'a mut self) -> ReadI32<&'a mut Self> where
Self: Unpin,
[src][−]
Self: Unpin,
Reads a signed 32-bit integer in big-endian order from the underlying reader. Read more
pub fn read_u64(&'a mut self) -> ReadU64<&'a mut Self> where
Self: Unpin,
[src][−]
Self: Unpin,
Reads an unsigned 64-bit integer in big-endian order from the underlying reader. Read more
pub fn read_i64(&'a mut self) -> ReadI64<&'a mut Self> where
Self: Unpin,
[src][−]
Self: Unpin,
Reads an signed 64-bit integer in big-endian order from the underlying reader. Read more
pub fn read_u128(&'a mut self) -> ReadU128<&'a mut Self> where
Self: Unpin,
[src][−]
Self: Unpin,
Reads an unsigned 128-bit integer in big-endian order from the underlying reader. Read more
pub fn read_i128(&'a mut self) -> ReadI128<&'a mut Self> where
Self: Unpin,
[src][−]
Self: Unpin,
Reads an signed 128-bit integer in big-endian order from the underlying reader. Read more
pub fn read_u16_le(&'a mut self) -> ReadU16Le<&'a mut Self> where
Self: Unpin,
[src][−]
Self: Unpin,
Reads an unsigned 16-bit integer in little-endian order from the underlying reader. Read more
pub fn read_i16_le(&'a mut self) -> ReadI16Le<&'a mut Self> where
Self: Unpin,
[src][−]
Self: Unpin,
Reads a signed 16-bit integer in little-endian order from the underlying reader. Read more
pub fn read_u32_le(&'a mut self) -> ReadU32Le<&'a mut Self> where
Self: Unpin,
[src][−]
Self: Unpin,
Reads an unsigned 32-bit integer in little-endian order from the underlying reader. Read more
pub fn read_i32_le(&'a mut self) -> ReadI32Le<&'a mut Self> where
Self: Unpin,
[src][−]
Self: Unpin,
Reads a signed 32-bit integer in little-endian order from the underlying reader. Read more
pub fn read_u64_le(&'a mut self) -> ReadU64Le<&'a mut Self> where
Self: Unpin,
[src][−]
Self: Unpin,
Reads an unsigned 64-bit integer in little-endian order from the underlying reader. Read more
pub fn read_i64_le(&'a mut self) -> ReadI64Le<&'a mut Self> where
Self: Unpin,
[src][−]
Self: Unpin,
Reads an signed 64-bit integer in little-endian order from the underlying reader. Read more
pub fn read_u128_le(&'a mut self) -> ReadU128Le<&'a mut Self> where
Self: Unpin,
[src][−]
Self: Unpin,
Reads an unsigned 128-bit integer in little-endian order from the underlying reader. Read more
pub fn read_i128_le(&'a mut self) -> ReadI128Le<&'a mut Self> where
Self: Unpin,
[src][−]
Self: Unpin,
Reads an signed 128-bit integer in little-endian order from the underlying reader. Read more
pub fn read_to_end(
&'a mut self,
buf: &'a mut Vec<u8, Global>
) -> ReadToEnd<'a, Self> where
Self: Unpin,
[src][−]
&'a mut self,
buf: &'a mut Vec<u8, Global>
) -> ReadToEnd<'a, Self> where
Self: Unpin,
Reads all bytes until EOF in this source, placing them into buf
. Read more
pub fn read_to_string(
&'a mut self,
dst: &'a mut String
) -> ReadToString<'a, Self> where
Self: Unpin,
[src][−]
&'a mut self,
dst: &'a mut String
) -> ReadToString<'a, Self> where
Self: Unpin,
Reads all bytes until EOF in this source, appending them to buf
. Read more
pub fn take(self, limit: u64) -> Take<Self>
[src][−]
Creates an adaptor which reads at most limit
bytes from it. Read more
impl<S> AsyncSeekExt for S where
S: AsyncSeek + ?Sized,
[src][+]
S: AsyncSeek + ?Sized,
pub fn seek(&mut self, pos: SeekFrom) -> Seek<'_, Self> where
Self: Unpin,
[src][−]
Self: Unpin,
Creates a future which will seek an IO object, and then yield the new position in the object and the object itself. Read more
pub fn stream_position(&mut self) -> Seek<'_, Self> where
Self: Unpin,
[src][−]
Self: Unpin,
Creates a future which will return the current seek position from the start of the stream. Read more
impl<W> AsyncWriteExt for W where
W: AsyncWrite + ?Sized,
[src][+]
W: AsyncWrite + ?Sized,
pub fn write(&'a mut self, src: &'a [u8]) -> Write<'a, Self> where
Self: Unpin,
[src][−]
Self: Unpin,
Writes a buffer into this writer, returning how many bytes were written. Read more
pub fn write_vectored(
&'a mut self,
bufs: &'a [IoSlice<'b>]
) -> WriteVectored<'a, 'b, Self> where
Self: Unpin,
[src][−]
&'a mut self,
bufs: &'a [IoSlice<'b>]
) -> WriteVectored<'a, 'b, Self> where
Self: Unpin,
pub fn write_buf<B>(&'a mut self, src: &'a mut B) -> WriteBuf<'a, Self, B> where
Self: Unpin,
B: Buf,
[src][−]
Self: Unpin,
B: Buf,
Writes a buffer into this writer, advancing the buffer’s internal cursor. Read more
pub fn write_all(&'a mut self, src: &'a [u8]) -> WriteAll<'a, Self> where
Self: Unpin,
[src][−]
Self: Unpin,
Attempts to write an entire buffer into this writer. Read more
pub fn write_u8(&'a mut self, n: u8) -> WriteU8<&'a mut Self> where
Self: Unpin,
[src][−]
Self: Unpin,
Writes an unsigned 8-bit integer to the underlying writer. Read more
pub fn write_i8(&'a mut self, n: i8) -> WriteI8<&'a mut Self> where
Self: Unpin,
[src][−]
Self: Unpin,
Writes an unsigned 8-bit integer to the underlying writer. Read more
pub fn write_u16(&'a mut self, n: u16) -> WriteU16<&'a mut Self> where
Self: Unpin,
[src][−]
Self: Unpin,
Writes an unsigned 16-bit integer in big-endian order to the underlying writer. Read more
pub fn write_i16(&'a mut self, n: i16) -> WriteI16<&'a mut Self> where
Self: Unpin,
[src][−]
Self: Unpin,
Writes a signed 16-bit integer in big-endian order to the underlying writer. Read more
pub fn write_u32(&'a mut self, n: u32) -> WriteU32<&'a mut Self> where
Self: Unpin,
[src][−]
Self: Unpin,
Writes an unsigned 32-bit integer in big-endian order to the underlying writer. Read more
pub fn write_i32(&'a mut self, n: i32) -> WriteI32<&'a mut Self> where
Self: Unpin,
[src][−]
Self: Unpin,
Writes a signed 32-bit integer in big-endian order to the underlying writer. Read more
pub fn write_u64(&'a mut self, n: u64) -> WriteU64<&'a mut Self> where
Self: Unpin,
[src][−]
Self: Unpin,
Writes an unsigned 64-bit integer in big-endian order to the underlying writer. Read more
pub fn write_i64(&'a mut self, n: i64) -> WriteI64<&'a mut Self> where
Self: Unpin,
[src][−]
Self: Unpin,
Writes an signed 64-bit integer in big-endian order to the underlying writer. Read more
pub fn write_u128(&'a mut self, n: u128) -> WriteU128<&'a mut Self> where
Self: Unpin,
[src][−]
Self: Unpin,
Writes an unsigned 128-bit integer in big-endian order to the underlying writer. Read more
pub fn write_i128(&'a mut self, n: i128) -> WriteI128<&'a mut Self> where
Self: Unpin,
[src][−]
Self: Unpin,
Writes an signed 128-bit integer in big-endian order to the underlying writer. Read more
pub fn write_u16_le(&'a mut self, n: u16) -> WriteU16Le<&'a mut Self> where
Self: Unpin,
[src][−]
Self: Unpin,
Writes an unsigned 16-bit integer in little-endian order to the underlying writer. Read more
pub fn write_i16_le(&'a mut self, n: i16) -> WriteI16Le<&'a mut Self> where
Self: Unpin,
[src][−]
Self: Unpin,
Writes a signed 16-bit integer in little-endian order to the underlying writer. Read more
pub fn write_u32_le(&'a mut self, n: u32) -> WriteU32Le<&'a mut Self> where
Self: Unpin,
[src][−]
Self: Unpin,
Writes an unsigned 32-bit integer in little-endian order to the underlying writer. Read more
pub fn write_i32_le(&'a mut self, n: i32) -> WriteI32Le<&'a mut Self> where
Self: Unpin,
[src][−]
Self: Unpin,
Writes a signed 32-bit integer in little-endian order to the underlying writer. Read more
pub fn write_u64_le(&'a mut self, n: u64) -> WriteU64Le<&'a mut Self> where
Self: Unpin,
[src][−]
Self: Unpin,
Writes an unsigned 64-bit integer in little-endian order to the underlying writer. Read more
pub fn write_i64_le(&'a mut self, n: i64) -> WriteI64Le<&'a mut Self> where
Self: Unpin,
[src][−]
Self: Unpin,
Writes an signed 64-bit integer in little-endian order to the underlying writer. Read more
pub fn write_u128_le(&'a mut self, n: u128) -> WriteU128Le<&'a mut Self> where
Self: Unpin,
[src][−]
Self: Unpin,
Writes an unsigned 128-bit integer in little-endian order to the underlying writer. Read more
pub fn write_i128_le(&'a mut self, n: i128) -> WriteI128Le<&'a mut Self> where
Self: Unpin,
[src][−]
Self: Unpin,
Writes an signed 128-bit integer in little-endian order to the underlying writer. Read more
pub fn flush(&mut self) -> Flush<'_, Self> where
Self: Unpin,
[src][−]
Self: Unpin,
Flushes this output stream, ensuring that all intermediately buffered contents reach their destination. Read more
pub fn shutdown(&mut self) -> Shutdown<'_, Self> where
Self: Unpin,
[src][−]
Self: Unpin,
Shuts down the output stream, ensuring that the value can be dropped cleanly. Read more
impl<T> Borrow<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
pub fn borrow(&self) -> &T
[src][−]
Immutably borrows from an owned value. Read more
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src][−]
Mutably borrows from an owned value. Read more
impl<T> From<T> for T
[src][+]
impl<T, U> Into<U> for T where
U: From<T>,
[src][+]
U: From<T>,
impl<F> IntoFuture for F where
F: Future,
[src][+]
F: Future,
type Output = <F as Future>::Output
into_future
)The output that the future will produce on completion.
type Future = F
into_future
)Which kind of future are we turning this into?
pub fn into_future(self) -> <F as IntoFuture>::Future
[src][−]
into_future
)Creates a future from a value.
impl<St> StreamExt for St where
St: Stream + ?Sized,
[src][+]
St: Stream + ?Sized,
pub fn next(&mut self) -> Next<'_, Self> where
Self: Unpin,
[src][−]
Self: Unpin,
Consumes and returns the next value in the stream or None
if the
stream is finished. Read more
pub fn try_next<T, E>(&mut self) -> TryNext<'_, Self> where
Self: Stream<Item = Result<T, E>> + Unpin,
[src][−]
Self: Stream<Item = Result<T, E>> + Unpin,
Consumes and returns the next item in the stream. If an error is encountered before the next item, the error is returned instead. Read more
pub fn map<T, F>(self, f: F) -> Map<Self, F> where
F: FnMut(Self::Item) -> T,
[src][−]
F: FnMut(Self::Item) -> T,
Maps this stream’s items to a different type, returning a new stream of the resulting type. Read more
pub fn merge<U>(self, other: U) -> Merge<Self, U> where
U: Stream<Item = Self::Item>,
[src][−]
U: Stream<Item = Self::Item>,
Combine two streams into one by interleaving the output of both as it is produced. Read more
pub fn filter<F>(self, f: F) -> Filter<Self, F> where
F: FnMut(&Self::Item) -> bool,
[src][−]
F: FnMut(&Self::Item) -> bool,
Filters the values produced by this stream according to the provided predicate. Read more
pub fn filter_map<T, F>(self, f: F) -> FilterMap<Self, F> where
F: FnMut(Self::Item) -> Option<T>,
[src][−]
F: FnMut(Self::Item) -> Option<T>,
Filters the values produced by this stream while simultaneously mapping them to a different type according to the provided closure. Read more
pub fn fuse(self) -> Fuse<Self>
[src][−]
Creates a stream which ends after the first None
. Read more
pub fn take(self, n: usize) -> Take<Self>
[src][−]
Creates a new stream of at most n
items of the underlying stream. Read more
pub fn take_while<F>(self, f: F) -> TakeWhile<Self, F> where
F: FnMut(&Self::Item) -> bool,
[src][−]
F: FnMut(&Self::Item) -> bool,
Take elements from this stream while the provided predicate
resolves to true
. Read more
pub fn skip(self, n: usize) -> Skip<Self>
[src][−]
Creates a new stream that will skip the n
first items of the
underlying stream. Read more
pub fn skip_while<F>(self, f: F) -> SkipWhile<Self, F> where
F: FnMut(&Self::Item) -> bool,
[src][−]
F: FnMut(&Self::Item) -> bool,
Skip elements from the underlying stream while the provided predicate
resolves to true
. Read more
pub fn all<F>(&mut self, f: F) -> AllFuture<'_, Self, F> where
Self: Unpin,
F: FnMut(Self::Item) -> bool,
[src][−]
Self: Unpin,
F: FnMut(Self::Item) -> bool,
Tests if every element of the stream matches a predicate. Read more
pub fn any<F>(&mut self, f: F) -> AnyFuture<'_, Self, F> where
Self: Unpin,
F: FnMut(Self::Item) -> bool,
[src][−]
Self: Unpin,
F: FnMut(Self::Item) -> bool,
Tests if any element of the stream matches a predicate. Read more
pub fn chain<U>(self, other: U) -> Chain<Self, U> where
U: Stream<Item = Self::Item>,
[src][−]
U: Stream<Item = Self::Item>,
Combine two streams into one by first returning all values from the first stream then all values from the second stream. Read more
pub fn fold<B, F>(self, init: B, f: F) -> FoldFuture<Self, B, F> where
F: FnMut(B, Self::Item) -> B,
[src][−]
F: FnMut(B, Self::Item) -> B,
A combinator that applies a function to every element in a stream producing a single, final value. Read more
pub fn collect<T>(self) -> Collect<Self, T> where
T: FromStream<Self::Item>,
[src][−]
T: FromStream<Self::Item>,
Drain stream pushing all emitted values into a collection. Read more
pub fn timeout(self, duration: Duration) -> Timeout<Self>
[src][−]
Applies a per-item timeout to the passed stream. Read more
pub fn throttle(self, duration: Duration) -> Throttle<Self>
[src][−]
Slows down a stream by enforcing a delay between items. Read more
impl<T> ToOwned for T where
T: Clone,
[src][+]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src][−]
Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)
[src][−]
🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src][+]
U: Into<T>,
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<F, T, E> TryFuture for F where
F: Future<Output = Result<T, E>> + ?Sized,
[src][+]
F: Future<Output = Result<T, E>> + ?Sized,
type Ok = T
The type of successful values yielded by this future
type Error = E
The type of failures yielded by this future
pub fn try_poll(
self: Pin<&mut F>,
cx: &mut Context<'_>
) -> Poll<<F as Future>::Output>
[src][−]
self: Pin<&mut F>,
cx: &mut Context<'_>
) -> Poll<<F as Future>::Output>
Poll this TryFuture
as if it were a Future
. Read more
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src][+]
U: TryFrom<T>,
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<S, T, E> TryStream for S where
S: Stream<Item = Result<T, E>> + ?Sized,
[src][+]
S: Stream<Item = Result<T, E>> + ?Sized,
type Ok = T
The type of successful values yielded by this future
type Error = E
The type of failures yielded by this future
pub fn try_poll_next(
self: Pin<&mut S>,
cx: &mut Context<'_>
) -> Poll<Option<Result<<S as TryStream>::Ok, <S as TryStream>::Error>>>
[src][−]
self: Pin<&mut S>,
cx: &mut Context<'_>
) -> Poll<Option<Result<<S as TryStream>::Ok, <S as TryStream>::Error>>>
Poll this TryStream
as if it were a Stream
. Read more