Struct futures_util::io::AllowStdIo [−][src]
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]
impl<T> AllowStdIo<T>
pub fn new(io: T) -> Self
[src]
pub fn new(io: T) -> Self
Creates a new AllowStdIo
from an existing IO object.
ⓘImportant traits for &'a mut Rpub fn get_ref(&self) -> &T
[src]
pub fn get_ref(&self) -> &T
Returns a reference to the contained IO object.
ⓘImportant traits for &'a mut Rpub fn get_mut(&mut self) -> &mut T
[src]
pub fn get_mut(&mut self) -> &mut T
Returns a mutable reference to the contained IO object.
pub fn into_inner(self) -> T
[src]
pub fn into_inner(self) -> T
Consumes self and returns the contained IO object.
Trait Implementations
impl<T: Debug> Debug for AllowStdIo<T>
[src]
impl<T: Debug> Debug for AllowStdIo<T>
fn fmt(&self, f: &mut Formatter) -> Result
[src]
fn fmt(&self, f: &mut Formatter) -> Result
Formats the value using the given formatter. Read more
impl<T: Copy> Copy for AllowStdIo<T>
[src]
impl<T: Copy> Copy for AllowStdIo<T>
impl<T: Clone> Clone for AllowStdIo<T>
[src]
impl<T: Clone> Clone for AllowStdIo<T>
ⓘImportant traits for AllowStdIo<T>fn clone(&self) -> AllowStdIo<T>
[src]
fn clone(&self) -> AllowStdIo<T>
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
impl<T: Eq> Eq for AllowStdIo<T>
[src]
impl<T: Eq> Eq for AllowStdIo<T>
impl<T: PartialEq> PartialEq for AllowStdIo<T>
[src]
impl<T: PartialEq> PartialEq for AllowStdIo<T>
fn eq(&self, other: &AllowStdIo<T>) -> bool
[src]
fn eq(&self, other: &AllowStdIo<T>) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &AllowStdIo<T>) -> bool
[src]
fn ne(&self, other: &AllowStdIo<T>) -> bool
This method tests for !=
.
impl<T: Ord> Ord for AllowStdIo<T>
[src]
impl<T: Ord> Ord for AllowStdIo<T>
fn cmp(&self, other: &AllowStdIo<T>) -> Ordering
[src]
fn cmp(&self, other: &AllowStdIo<T>) -> Ordering
This method returns an Ordering
between self
and other
. Read more
fn max(self, other: Self) -> Self
1.21.0[src]
fn max(self, other: Self) -> Self
Compares and returns the maximum of two values. Read more
fn min(self, other: Self) -> Self
1.21.0[src]
fn min(self, other: Self) -> Self
Compares and returns the minimum of two values. Read more
impl<T: PartialOrd> PartialOrd for AllowStdIo<T>
[src]
impl<T: PartialOrd> PartialOrd for AllowStdIo<T>
fn partial_cmp(&self, other: &AllowStdIo<T>) -> Option<Ordering>
[src]
fn partial_cmp(&self, other: &AllowStdIo<T>) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
fn lt(&self, other: &AllowStdIo<T>) -> bool
[src]
fn lt(&self, other: &AllowStdIo<T>) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
fn le(&self, other: &AllowStdIo<T>) -> bool
[src]
fn le(&self, other: &AllowStdIo<T>) -> bool
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
fn gt(&self, other: &AllowStdIo<T>) -> bool
[src]
fn gt(&self, other: &AllowStdIo<T>) -> bool
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
fn ge(&self, other: &AllowStdIo<T>) -> bool
[src]
fn ge(&self, other: &AllowStdIo<T>) -> bool
This method tests greater than or equal to (for self
and other
) and is used by the >=
operator. Read more
impl<T: Hash> Hash for AllowStdIo<T>
[src]
impl<T: Hash> Hash for AllowStdIo<T>
fn hash<__HT: Hasher>(&self, state: &mut __HT)
[src]
fn hash<__HT: Hasher>(&self, state: &mut __HT)
Feeds this value into the given [Hasher
]. Read more
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
Feeds a slice of this type into the given [Hasher
]. Read more
impl<T> Write for AllowStdIo<T> where
T: Write,
[src]
impl<T> Write for AllowStdIo<T> where
T: Write,
fn write(&mut self, buf: &[u8]) -> Result<usize>
[src]
fn write(&mut self, buf: &[u8]) -> Result<usize>
Write a buffer into this object, returning how many bytes were written. Read more
fn flush(&mut self) -> Result<()>
[src]
fn flush(&mut self) -> Result<()>
Flush this output stream, ensuring that all intermediately buffered contents reach their destination. Read more
fn write_all(&mut self, buf: &[u8]) -> Result<()>
[src]
fn write_all(&mut self, buf: &[u8]) -> Result<()>
Attempts to write an entire buffer into this write. Read more
fn write_fmt(&mut self, fmt: Arguments) -> Result<()>
[src]
fn write_fmt(&mut self, fmt: Arguments) -> Result<()>
Writes a formatted string into this writer, returning any error encountered. Read more
ⓘImportant traits for &'a mut Rfn by_ref(&mut self) -> &mut Self
1.0.0[src]
fn by_ref(&mut self) -> &mut Self
Creates a "by reference" adaptor for this instance of Write
. Read more
impl<T> AsyncWrite for AllowStdIo<T> where
T: Write,
[src]
impl<T> AsyncWrite for AllowStdIo<T> where
T: Write,
fn poll_write(&mut self, _: &mut Context, buf: &[u8]) -> Poll<Result<usize>>
[src]
fn poll_write(&mut self, _: &mut Context, buf: &[u8]) -> Poll<Result<usize>>
Attempt to write bytes from buf
into the object. Read more
fn poll_flush(&mut self, _: &mut Context) -> Poll<Result<()>>
[src]
fn poll_flush(&mut self, _: &mut Context) -> Poll<Result<()>>
Attempt to flush the object, ensuring that any buffered data reach their destination. Read more
fn poll_close(&mut self, cx: &mut Context) -> Poll<Result<()>>
[src]
fn poll_close(&mut self, cx: &mut Context) -> Poll<Result<()>>
Attempt to close the object. Read more
fn poll_vectored_write(
&mut self,
cx: &mut Context,
vec: &[&IoVec]
) -> Poll<Result<usize, Error>>
[src]
fn poll_vectored_write(
&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
impl<T> Read for AllowStdIo<T> where
T: Read,
[src]
impl<T> Read for AllowStdIo<T> where
T: Read,
fn read(&mut self, buf: &mut [u8]) -> Result<usize>
[src]
fn read(&mut self, buf: &mut [u8]) -> Result<usize>
Pull some bytes from this source into the specified buffer, returning how many bytes were read. Read more
fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize>
[src]
fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize>
Read all bytes until EOF in this source, placing them into buf
. Read more
fn read_to_string(&mut self, buf: &mut String) -> Result<usize>
[src]
fn read_to_string(&mut self, buf: &mut String) -> Result<usize>
Read all bytes until EOF in this source, appending them to buf
. Read more
fn read_exact(&mut self, buf: &mut [u8]) -> Result<()>
[src]
fn read_exact(&mut self, buf: &mut [u8]) -> Result<()>
Read the exact number of bytes required to fill buf
. Read more
unsafe fn initializer(&self) -> Initializer
[src]
unsafe fn initializer(&self) -> Initializer
read_initializer
)Determines if this Read
er can work with buffers of uninitialized memory. Read more
ⓘImportant traits for &'a mut Rfn by_ref(&mut self) -> &mut Self
1.0.0[src]
fn by_ref(&mut self) -> &mut Self
Creates a "by reference" adaptor for this instance of Read
. Read more
ⓘImportant traits for Bytes<R>fn bytes(self) -> Bytes<Self>
1.0.0[src]
fn bytes(self) -> Bytes<Self>
Transforms this Read
instance to an [Iterator
] over its bytes. Read more
ⓘImportant traits for Chars<R>fn chars(self) -> Chars<Self>
[src]
fn chars(self) -> Chars<Self>
: Use str::from_utf8 instead: https://doc.rust-lang.org/nightly/std/str/struct.Utf8Error.html#examples
🔬 This is a nightly-only experimental API. (io
)
the semantics of a partial read/write of where errors happen is currently unclear and may change
Transforms this Read
instance to an [Iterator
] over [char
]s. Read more
ⓘImportant traits for Chain<T, U>fn chain<R>(self, next: R) -> Chain<Self, R> where
R: Read,
1.0.0[src]
fn chain<R>(self, next: R) -> Chain<Self, R> where
R: Read,
Creates an adaptor which will chain this stream with another. Read more
ⓘImportant traits for Take<T>fn take(self, limit: u64) -> Take<Self>
1.0.0[src]
fn take(self, limit: u64) -> Take<Self>
Creates an adaptor which will read at most limit
bytes from it. Read more
impl<T> AsyncRead for AllowStdIo<T> where
T: Read,
[src]
impl<T> AsyncRead for AllowStdIo<T> where
T: Read,
fn poll_read(&mut self, _: &mut Context, buf: &mut [u8]) -> Poll<Result<usize>>
[src]
fn poll_read(&mut self, _: &mut Context, buf: &mut [u8]) -> Poll<Result<usize>>
Attempt to read from the AsyncRead
into buf
. Read more
unsafe fn initializer(&self) -> Initializer
[src]
unsafe fn initializer(&self) -> Initializer
Determines if this AsyncRead
er can work with buffers of uninitialized memory. Read more
fn poll_vectored_read(
&mut self,
cx: &mut Context,
vec: &mut [&mut IoVec]
) -> Poll<Result<usize, Error>>
[src]
fn poll_vectored_read(
&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
Auto Trait Implementations
impl<T> Send for AllowStdIo<T> where
T: Send,
impl<T> Send for AllowStdIo<T> where
T: Send,
impl<T> Sync for AllowStdIo<T> where
T: Sync,
impl<T> Sync for AllowStdIo<T> where
T: Sync,