[−][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> 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> Unpin for AllowStdIo<T>
[src]
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> 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> Eq for AllowStdIo<T> where
T: Eq,
[src]
T: Eq,
impl<T> AsyncBufRead for AllowStdIo<T> where
T: BufRead,
[src]
T: BufRead,
fn poll_fill_buf(
self: Pin<&'a mut AllowStdIo<T>>,
&mut Context
) -> Poll<Result<&'a [u8], Error>>
[src]
self: Pin<&'a mut AllowStdIo<T>>,
&mut Context
) -> Poll<Result<&'a [u8], Error>>
fn consume(self: Pin<&mut AllowStdIo<T>>, amt: usize)
[src]
impl<T> Seek for AllowStdIo<T> where
T: Seek,
[src]
T: Seek,
fn seek(&mut self, pos: SeekFrom) -> Result<u64, Error>
[src]
fn stream_len(&mut self) -> Result<u64, Error>
[src]
seek_convenience
)Returns the length of this stream (in bytes). Read more
fn stream_position(&mut self) -> Result<u64, Error>
[src]
seek_convenience
)Returns the current seek position from the start of the stream. Read more
impl<T> Copy for AllowStdIo<T> where
T: Copy,
[src]
T: Copy,
impl<T> AsyncSeek for AllowStdIo<T> where
T: Seek,
[src]
T: Seek,
fn poll_seek(
self: Pin<&mut AllowStdIo<T>>,
&mut Context,
pos: SeekFrom
) -> Poll<Result<u64, Error>>
[src]
self: Pin<&mut AllowStdIo<T>>,
&mut Context,
pos: SeekFrom
) -> Poll<Result<u64, Error>>
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> Debug for AllowStdIo<T> where
T: Debug,
[src]
T: Debug,
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 [IoSliceMut]) -> Result<usize, Error>
1.36.0[src]
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> 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: &[IoSlice]) -> Result<usize, Error>
1.36.0[src]
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> 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> 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
impl<T> BufRead for AllowStdIo<T> where
T: BufRead,
[src]
T: BufRead,
fn fill_buf(&mut self) -> Result<&[u8], Error>
[src]
fn consume(&mut self, amt: usize)
[src]
fn read_until(&mut self, byte: u8, buf: &mut Vec<u8>) -> Result<usize, Error>
1.0.0[src]
Read all bytes into buf
until the delimiter byte
or EOF is reached. Read more
fn read_line(&mut self, buf: &mut String) -> Result<usize, Error>
1.0.0[src]
Read all bytes until a newline (the 0xA byte) is reached, and append them to the provided buffer. Read more
fn split(self, byte: u8) -> Split<Self>
1.0.0[src]
Returns an iterator over the contents of this reader split on the byte byte
. Read more
fn lines(self) -> Lines<Self>
1.0.0[src]
Returns an iterator over the lines of this reader. 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]
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> 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> Into for T where
U: From<T>,
[src]
U: From<T>,
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, 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<T> Borrow for T where
T: ?Sized,
[src]
T: ?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> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
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
impl<S> AsyncSeekExt for S where
S: AsyncSeek + ?Sized,
[src]
S: AsyncSeek + ?Sized,
ⓘImportant traits for Seek<'_, S>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
impl<R> AsyncBufReadExt for R where
R: AsyncBufRead + ?Sized,
[src]
R: AsyncBufRead + ?Sized,
ⓘImportant traits for ReadUntil<'_, R>fn read_until(
&'a mut self,
byte: u8,
buf: &'a mut Vec<u8>
) -> ReadUntil<'a, Self> where
Self: Unpin,
[src]
&'a mut self,
byte: u8,
buf: &'a mut Vec<u8>
) -> ReadUntil<'a, Self> where
Self: Unpin,
Creates a future which will read all the bytes associated with this I/O object into buf
until the delimiter byte
or EOF is reached. This method is the async equivalent to BufRead::read_until
. Read more