[−][src]Struct futures::io::AllowStdIo
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 Fpub fn get_ref(&self) -> &T
[src]
Returns a reference to the contained IO object.
ⓘImportant traits for &'_ mut Fpub 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> Unpin for AllowStdIo<T>
[src]
impl<T> Ord for AllowStdIo<T> where
T: Ord,
[src]
T: Ord,
fn cmp(&self, other: &AllowStdIo<T>) -> Ordering
[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]
clamp
)Restrict a value to a certain interval. Read more
impl<T> Clone for AllowStdIo<T> where
T: Clone,
[src]
T: Clone,
ⓘImportant traits for AllowStdIo<T>fn clone(&self) -> AllowStdIo<T>
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl<T> Eq for AllowStdIo<T> where
T: Eq,
[src]
T: Eq,
impl<T> AsyncRead for AllowStdIo<T> where
T: Read,
[src]
T: Read,
fn poll_read(
self: Pin<&mut AllowStdIo<T>>,
&mut Context,
buf: &mut [u8]
) -> Poll<Result<usize, Error>>
[src]
self: Pin<&mut AllowStdIo<T>>,
&mut Context,
buf: &mut [u8]
) -> Poll<Result<usize, Error>>
unsafe fn initializer(&self) -> Initializer
[src]
Determines if this AsyncRead
er 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]
self: Pin<&mut Self>,
cx: &mut Context,
vec: &mut [&mut IoVec]
) -> Poll<Result<usize, Error>>
Attempt to read from the AsyncRead
into vec
using vectored IO operations. Read more
impl<T> Read for AllowStdIo<T> where
T: Read,
[src]
T: Read,
fn read(&mut self, buf: &mut [u8]) -> Result<usize, Error>
[src]
fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>
[src]
fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>
[src]
fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>
[src]
fn read_vectored(&mut self, bufs: &mut [IoVecMut]) -> Result<usize, Error>
[src]
iovec
)Like read
, except that it reads into a slice of buffers. Read more
unsafe fn initializer(&self) -> Initializer
[src]
read_initializer
)Determines if this Read
er can work with buffers of uninitialized memory. Read more
ⓘImportant traits for &'_ mut Ffn 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]
R: Read,
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
impl<T> Hash for AllowStdIo<T> where
T: Hash,
[src]
T: Hash,
fn hash<__HT>(&self, state: &mut __HT) where
__HT: Hasher,
[src]
__HT: Hasher,
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
Feeds a slice of this type into the given [Hasher
]. Read more
impl<T> Copy for AllowStdIo<T> where
T: Copy,
[src]
T: Copy,
impl<T> PartialOrd<AllowStdIo<T>> for AllowStdIo<T> where
T: PartialOrd<T>,
[src]
T: PartialOrd<T>,
fn partial_cmp(&self, other: &AllowStdIo<T>) -> Option<Ordering>
[src]
fn lt(&self, other: &AllowStdIo<T>) -> bool
[src]
fn le(&self, other: &AllowStdIo<T>) -> bool
[src]
fn gt(&self, other: &AllowStdIo<T>) -> bool
[src]
fn ge(&self, other: &AllowStdIo<T>) -> bool
[src]
impl<T> Write for AllowStdIo<T> where
T: Write,
[src]
T: Write,
fn write(&mut self, buf: &[u8]) -> Result<usize, Error>
[src]
fn flush(&mut self) -> Result<(), Error>
[src]
fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
[src]
fn write_fmt(&mut self, fmt: Arguments) -> Result<(), Error>
[src]
fn write_vectored(&mut self, bufs: &[IoVec]) -> Result<usize, Error>
[src]
iovec
)Like write
, except that it writes from a slice of buffers. Read more
ⓘImportant traits for &'_ mut Ffn by_ref(&mut self) -> &mut Self
1.0.0[src]
Creates a "by reference" adaptor for this instance of Write
. Read more
impl<T> PartialEq<AllowStdIo<T>> for AllowStdIo<T> where
T: PartialEq<T>,
[src]
T: PartialEq<T>,
fn eq(&self, other: &AllowStdIo<T>) -> bool
[src]
fn ne(&self, other: &AllowStdIo<T>) -> bool
[src]
impl<T> Debug for AllowStdIo<T> where
T: Debug,
[src]
T: Debug,
impl<T> AsyncWrite for AllowStdIo<T> where
T: Write,
[src]
T: Write,
fn poll_write(
self: Pin<&mut AllowStdIo<T>>,
&mut Context,
buf: &[u8]
) -> Poll<Result<usize, Error>>
[src]
self: Pin<&mut AllowStdIo<T>>,
&mut Context,
buf: &[u8]
) -> Poll<Result<usize, Error>>
fn poll_flush(
self: Pin<&mut AllowStdIo<T>>,
&mut Context
) -> Poll<Result<(), Error>>
[src]
self: Pin<&mut AllowStdIo<T>>,
&mut Context
) -> Poll<Result<(), Error>>
fn poll_close(
self: Pin<&mut AllowStdIo<T>>,
cx: &mut Context
) -> Poll<Result<(), Error>>
[src]
self: Pin<&mut AllowStdIo<T>>,
cx: &mut Context
) -> Poll<Result<(), Error>>
fn poll_vectored_write(
self: Pin<&mut Self>,
cx: &mut Context,
vec: &[&IoVec]
) -> Poll<Result<usize, Error>>
[src]
self: Pin<&mut Self>,
cx: &mut Context,
vec: &[&IoVec]
) -> Poll<Result<usize, Error>>
Attempt to write bytes from vec
into the object using vectored IO operations. Read more
Auto Trait Implementations
impl<T> Send for AllowStdIo<T> where
T: Send,
T: Send,
impl<T> Sync for AllowStdIo<T> where
T: Sync,
T: Sync,
Blanket Implementations
impl<T, U> Into for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T> From for T
[src]
impl<T, U> TryFrom for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T> Borrow for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src]
T: ?Sized,
ⓘImportant traits for &'_ mut Ffn borrow_mut(&mut self) -> &mut T
[src]
impl<T, U> TryInto 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.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<R> AsyncReadExt for R where
R: AsyncRead + ?Sized,
[src]
R: AsyncRead + ?Sized,
ⓘ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]
Self: Unpin,
W: AsyncWrite + Unpin,
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]
Self: Unpin,
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]
Self: Unpin,
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]
Self: Unpin,
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]
Self: AsyncWrite,
Helper method for splitting this read/write object into two halves. Read more
impl<W> AsyncWriteExt for W where
W: AsyncWrite + ?Sized,
[src]
W: AsyncWrite + ?Sized,
ⓘImportant traits for Flush<'_, W>fn flush(&mut self) -> Flush<Self> where
Self: Unpin,
[src]
Self: Unpin,
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]
Self: Unpin,
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]
Self: Unpin,
Write data into this object. Read more