gio::subclass::prelude

Trait InputStreamImpl

Source
pub trait InputStreamImpl:
    ObjectImpl
    + InputStreamImplExt
    + Send {
    // Provided methods
    fn read(
        &self,
        buffer: &mut [u8],
        cancellable: Option<&Cancellable>,
    ) -> Result<usize, Error> { ... }
    fn close(&self, cancellable: Option<&Cancellable>) -> Result<(), Error> { ... }
    fn skip(
        &self,
        count: usize,
        cancellable: Option<&Cancellable>,
    ) -> Result<usize, Error> { ... }
}

Provided Methods§

Source

fn read( &self, buffer: &mut [u8], cancellable: Option<&Cancellable>, ) -> Result<usize, Error>

Source

fn close(&self, cancellable: Option<&Cancellable>) -> Result<(), Error>

Source

fn skip( &self, count: usize, cancellable: Option<&Cancellable>, ) -> Result<usize, Error>

Tries to skip @count bytes from the stream. Will block during the operation.

This is identical to g_input_stream_read(), from a behaviour standpoint, but the bytes that are skipped are not returned to the user. Some streams have an implementation that is more efficient than reading the data.

This function is optional for inherited classes, as the default implementation emulates it using read.

If @cancellable is not None, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error IOErrorEnum::Cancelled will be returned. If an operation was partially finished when the operation was cancelled the partial result will be returned, without an error.

§count

the number of bytes that will be skipped from the stream

§cancellable

optional #GCancellable object, None to ignore.

§Returns

Number of bytes skipped, or -1 on error

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§