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 InputStreamExtManual::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 Cancellable object, None to ignore.

Returns

Number of bytes skipped, or -1 on error

Object Safety§

This trait is not object safe.

Implementors§