[][src]Struct futures::io::AllowStdIo

pub struct AllowStdIo<T>(_);

A simple wrapper type which allows types which implement only implement std::io::Read or std::io::Write to be used in contexts which expect an AsyncRead or AsyncWrite.

If these types issue an error with the kind io::ErrorKind::WouldBlock, it is expected that they will notify the current task on readiness. Synchronous std types should not issue errors of this kind and are safe to use in this context. However, using these types with AllowStdIo will cause the event loop to block, so they should be used with care.

Methods

impl<T> AllowStdIo<T>[src]

Important traits for AllowStdIo<T>
pub fn new(io: T) -> AllowStdIo<T>[src]

Creates a new AllowStdIo from an existing IO object.

Important traits for &'_ mut F
pub fn get_ref(&self) -> &T[src]

Returns a reference to the contained IO object.

Important traits for &'_ mut F
pub fn get_mut(&mut self) -> &mut T[src]

Returns a mutable reference to the contained IO object.

pub fn into_inner(self) -> T[src]

Consumes self and returns the contained IO object.

Trait Implementations

impl<T> Ord for AllowStdIo<T> where
    T: Ord
[src]

fn max(self, other: Self) -> Self
1.21.0
[src]

Compares and returns the maximum of two values. Read more

fn min(self, other: Self) -> Self
1.21.0
[src]

Compares and returns the minimum of two values. Read more

fn clamp(self, min: Self, max: Self) -> Self[src]

🔬 This is a nightly-only experimental API. (clamp)

Restrict a value to a certain interval. Read more

impl<T> Unpin for AllowStdIo<T>[src]

impl<T> Clone for AllowStdIo<T> where
    T: Clone
[src]

fn clone_from(&mut self, source: &Self)
1.0.0
[src]

Performs copy-assignment from source. Read more

impl<T> AsyncRead for AllowStdIo<T> where
    T: Read
[src]

unsafe fn initializer(&self) -> Initializer[src]

Determines if this AsyncReader can work with buffers of uninitialized memory. Read more

fn poll_vectored_read(
    self: Pin<&mut Self>,
    cx: &mut Context,
    vec: &mut [&mut IoVec]
) -> Poll<Result<usize, Error>>
[src]

Attempt to read from the AsyncRead into vec using vectored IO operations. Read more

impl<T> Eq for AllowStdIo<T> where
    T: Eq
[src]

impl<T> Hash for AllowStdIo<T> where
    T: Hash
[src]

fn hash_slice<H>(data: &[Self], state: &mut H) where
    H: Hasher
1.3.0
[src]

Feeds a slice of this type into the given [Hasher]. Read more

impl<T> AsyncWrite for AllowStdIo<T> where
    T: Write
[src]

fn poll_vectored_write(
    self: Pin<&mut Self>,
    cx: &mut Context,
    vec: &[&IoVec]
) -> Poll<Result<usize, Error>>
[src]

Attempt to write bytes from vec into the object using vectored IO operations. Read more

impl<T> Copy for AllowStdIo<T> where
    T: Copy
[src]

impl<T> Write for AllowStdIo<T> where
    T: Write
[src]

fn write_vectored(&mut self, bufs: &[IoVec]) -> Result<usize, Error>[src]

🔬 This is a nightly-only experimental API. (iovec)

Like write, except that it writes from a slice of buffers. Read more

Important traits for &'_ mut F
fn by_ref(&mut self) -> &mut Self
1.0.0
[src]

Creates a "by reference" adaptor for this instance of Write. Read more

impl<T> PartialOrd<AllowStdIo<T>> for AllowStdIo<T> where
    T: PartialOrd<T>, 
[src]

impl<T> PartialEq<AllowStdIo<T>> for AllowStdIo<T> where
    T: PartialEq<T>, 
[src]

impl<T> Debug for AllowStdIo<T> where
    T: Debug
[src]

impl<T> Read for AllowStdIo<T> where
    T: Read
[src]

fn read_vectored(&mut self, bufs: &mut [IoVecMut]) -> Result<usize, Error>[src]

🔬 This is a nightly-only experimental API. (iovec)

Like read, except that it reads into a slice of buffers. Read more

unsafe fn initializer(&self) -> Initializer[src]

🔬 This is a nightly-only experimental API. (read_initializer)

Determines if this Reader can work with buffers of uninitialized memory. Read more

Important traits for &'_ mut F
fn by_ref(&mut self) -> &mut Self
1.0.0
[src]

Creates a "by reference" adaptor for this instance of Read. Read more

fn bytes(self) -> Bytes<Self>
1.0.0
[src]

Transforms this Read instance to an [Iterator] over its bytes. Read more

fn chain<R>(self, next: R) -> Chain<Self, R> where
    R: Read
1.0.0
[src]

Creates an adaptor which will chain this stream with another. Read more

fn take(self, limit: u64) -> Take<Self>
1.0.0
[src]

Creates an adaptor which will read at most limit bytes from it. Read more

Auto Trait Implementations

impl<T> Send for AllowStdIo<T> where
    T: Send

impl<T> Sync for AllowStdIo<T> where
    T: Sync

Blanket Implementations

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T> From for T[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<R> AsyncReadExt for R where
    R: AsyncRead + ?Sized
[src]

Important traits for CopyInto<'_, R, W>
fn copy_into<W>(&'a mut self, writer: &'a mut W) -> CopyInto<'a, Self, W> where
    Self: Unpin,
    W: AsyncWrite + Unpin
[src]

Creates a future which copies all the bytes from one object to another. Read more

Important traits for Read<'_, R>
fn read(&'a mut self, buf: &'a mut [u8]) -> Read<'a, Self> where
    Self: Unpin
[src]

Tries to read some bytes directly into the given buf in asynchronous manner, returning a future type. Read more

Important traits for ReadExact<'_, R>
fn read_exact(&'a mut self, buf: &'a mut [u8]) -> ReadExact<'a, Self> where
    Self: Unpin
[src]

Creates a future which will read exactly enough bytes to fill buf, returning an error if end of file (EOF) is hit sooner. Read more

Important traits for ReadToEnd<'_, A>
fn read_to_end(&'a mut self, buf: &'a mut Vec<u8>) -> ReadToEnd<'a, Self> where
    Self: Unpin
[src]

Creates a future which will read all the bytes from this AsyncRead. Read more

fn split(self) -> (ReadHalf<Self>, WriteHalf<Self>) where
    Self: AsyncWrite
[src]

Helper method for splitting this read/write object into two halves. Read more

impl<W> AsyncWriteExt for W where
    W: AsyncWrite + ?Sized
[src]

Important traits for Flush<'_, W>
fn flush(&mut self) -> Flush<Self> where
    Self: Unpin
[src]

Creates a future which will entirely flush this AsyncWrite. Read more

Important traits for Close<'_, W>
fn close(&mut self) -> Close<Self> where
    Self: Unpin
[src]

Creates a future which will entirely close this AsyncWrite.

Important traits for WriteAll<'_, W>
fn write_all(&'a mut self, buf: &'a [u8]) -> WriteAll<'a, Self> where
    Self: Unpin
[src]

Write data into this object. Read more