[−][src]Struct timeout_readwrite::reader::TimeoutReader
The TimeoutReader
struct adds read timeouts to any reader.
The read
call on a Read
instance will block forever until data is available.
A TimeoutReader
will wait until data is available, up until an optional timeout,
before actually performing the read
operation.
If any Read
operation times out, the method called will return
an io::ErrorKind::TimedOut
variant as the value of io::Error
. All other
error values that would normally be produced by the underlying implementation
of the Read
trait could also be produced by the TimeoutReader
.
Methods
impl<H> TimeoutReader<H> where
H: Read + AsRawFd,
[src]
H: Read + AsRawFd,
ⓘImportant traits for TimeoutReader<H>pub fn new<T: Into<Option<Duration>>>(handle: H, timeout: T) -> TimeoutReader<H>
[src]
Create a new TimeoutReader
with an optional timeout.
Examples
This first example creates the TimeoutReader
with a 5-second timeout.
use timeout_readwrite::TimeoutReader; use std::fs::File; use std::time::Duration; let mut f = File::open("file.txt")?; let mut rdr = TimeoutReader::new(f, Duration::new(5, 0));
This example creates the TimeoutReader
without a timeout at all.
use timeout_readwrite::TimeoutReader; use std::fs::File; use std::time::Duration; let mut f = File::open("file.txt")?; let mut rdr = TimeoutReader::new(f, None);
Trait Implementations
impl<H> AsRawFd for TimeoutReader<H> where
H: Read + AsRawFd,
[src]
H: Read + AsRawFd,
impl<H> Clone for TimeoutReader<H> where
H: Read + AsRawFd + Clone,
[src]
H: Read + AsRawFd + Clone,
ⓘImportant traits for TimeoutReader<H>fn clone(&self) -> TimeoutReader<H>
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<H> Read for TimeoutReader<H> where
H: Read + AsRawFd,
[src]
H: Read + AsRawFd,
fn read(&mut self, buf: &mut [u8]) -> Result<usize>
[src]
fn read_vectored(&mut self, bufs: &mut [IoSliceMut]) -> Result<usize, Error>
1.36.0[src]
unsafe fn initializer(&self) -> Initializer
[src]
fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>
1.0.0[src]
fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>
1.0.0[src]
fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>
1.6.0[src]
fn by_ref(&mut self) -> &mut Self
1.0.0[src]
fn bytes(self) -> Bytes<Self>
1.0.0[src]
fn chain<R>(self, next: R) -> Chain<Self, R> where
R: Read,
1.0.0[src]
R: Read,
fn take(self, limit: u64) -> Take<Self>
1.0.0[src]
impl<H> Seek for TimeoutReader<H> where
H: Read + AsRawFd + Seek,
[src]
H: Read + AsRawFd + Seek,
Auto Trait Implementations
impl<H> RefUnwindSafe for TimeoutReader<H> where
H: RefUnwindSafe,
H: RefUnwindSafe,
impl<H> Send for TimeoutReader<H> where
H: Send,
H: Send,
impl<H> Sync for TimeoutReader<H> where
H: Sync,
H: Sync,
impl<H> Unpin for TimeoutReader<H> where
H: Unpin,
H: Unpin,
impl<H> UnwindSafe for TimeoutReader<H> where
H: UnwindSafe,
H: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<H> TimeoutReadExt<H> for H where
H: Read + AsRawFd,
[src]
H: Read + AsRawFd,
ⓘImportant traits for TimeoutReader<H>fn with_timeout<T>(Self, T) -> TimeoutReader<H> where
T: Into<Option<Duration>>,
[src]
T: Into<Option<Duration>>,
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, 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.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,