Trait gio::prelude::PollableInputStreamExt
source · pub trait PollableInputStreamExt: 'static {
// Required methods
fn can_poll(&self) -> bool;
fn is_readable(&self) -> bool;
}
Expand description
Trait containing all PollableInputStream
methods.
Implementors
ConverterInputStream
, MemoryInputStream
, PollableInputStream
, UnixInputStream
Required Methods§
sourcefn can_poll(&self) -> bool
fn can_poll(&self) -> bool
Checks if self
is actually pollable. Some classes may implement
PollableInputStream
but have only certain instances of that class
be pollable. If this method returns false
, then the behavior of
other PollableInputStream
methods is undefined.
For any given stream, the value returned by this method is constant; a stream cannot switch from pollable to non-pollable or vice versa.
Returns
sourcefn is_readable(&self) -> bool
fn is_readable(&self) -> bool
Checks if self
can be read.
Note that some stream types may not be able to implement this 100%
reliably, and it is possible that a call to InputStreamExtManual::read()
after this returns true
would still block. To guarantee
non-blocking behavior, you should always use
PollableInputStreamExtManual::read_nonblocking()
, which will return a
IOErrorEnum::WouldBlock
error rather than blocking.
Returns
true
if self
is readable, false
if not. If an error
has occurred on self
, this will result in
is_readable()
returning true
, and the
next attempt to read will return the error.