Trait gio::prelude::PollableInputStreamExt

source ·
pub trait PollableInputStreamExt: IsA<PollableInputStream> + Sealed + 'static {
    // Provided methods
    fn can_poll(&self) -> bool { ... }
    fn is_readable(&self) -> bool { ... }
}
Expand description

Provided Methods§

source

fn can_poll(&self) -> bool

Checks if @self is actually pollable. Some classes may implement #GPollableInputStream but have only certain instances of that class be pollable. If this method returns false, then the behavior of other #GPollableInputStream 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

true if @self is pollable, false if not.

source

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 g_input_stream_read() after this returns true would still block. To guarantee non-blocking behavior, you should always use g_pollable_input_stream_read_nonblocking(), which will return a IOErrorEnum::WouldBlock error rather than blocking.

The behaviour of this method is undefined if g_pollable_input_stream_can_poll() returns false for @self.

§Returns

true if @self is readable, false if not. If an error has occurred on @self, this will result in g_pollable_input_stream_is_readable() returning true, and the next attempt to read will return the error.

Object Safety§

This trait is not object safe.

Implementors§