[][src]Struct genio::util::Restarting

pub struct Restarting<T>(_);

Restarts all interrupted operations.

All Read and Write operations that might fail with error indicating interruption (like EINTR) will be restarted when wrapped in this type.

The error types indicate that interrupted error case has been handled.

Methods

impl<T> Restarting<T>[src]

pub fn new(io: T) -> Self[src]

Creates restarting IO.

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

Converts to lower-level reader.

Trait Implementations

impl<R> Read for Restarting<R> where
    R: Read,
    R::ReadError: IntoIntrError
[src]

type ReadError = <<R as Read>::ReadError as IntoIntrError>::NonIntr

Value of this type is returned when read() fails. Read more

fn read_exact(
    &mut self,
    buf: &mut [u8]
) -> Result<(), ReadExactError<Self::ReadError>>
[src]

Read the exact number of bytes required to fill buf. Read more

fn available_bytes(&self, _at_least: usize) -> bool[src]

Hints whether there are at least at_least bytes available. Read more

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

Chains another reader after self. When self ends (returns Ok(0)), the other reader will provide bytes to read. Read more

fn read_to_end<T: ExtendFromReader>(
    &mut self,
    container: &mut T
) -> Result<usize, ExtendError<Self::ReadError, T::ExtendError>> where
    Self: ReadOverwrite
[src]

Reads all bytes into any type that can be extended by a reader. This is more generic than the case of std::io and might enable some optimizations. Read more

fn by_ref(&mut self) -> &mut Self where
    Self: Sized
[src]

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

impl<W> Write for Restarting<W> where
    W: Write,
    W::WriteError: IntoIntrError,
    W::FlushError: IntoIntrError
[src]

type WriteError = <<W as Write>::WriteError as IntoIntrError>::NonIntr

Value of this type is returned when write() fails. Read more

type FlushError = <<W as Write>::FlushError as IntoIntrError>::NonIntr

Value of this type is returned when flush() fails. In case of low-level writers flush often does nothing and therefore doesn't return error, so this type might be Void. Read more

fn write_all(&mut self, buf: &[u8]) -> Result<(), Self::WriteError>[src]

Attempts to write an entire buffer into this Write.

Auto Trait Implementations

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

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

Blanket Implementations

impl<R> ReadExt for R where
    R: Read + ?Sized
[src]

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

type Error = !

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

The type returned in the event of a conversion error.

impl<T> From for T[src]

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

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

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

The type returned in the event of a conversion error.

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

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

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

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