Class

GioBufferedInputStream

Description

class Gio.BufferedInputStream : Gio.FilterInputStream {
  parent_instance: GFilterInputStream
}

Buffered input stream implements GFilterInputStream and provides for buffered reads.

By default, GBufferedInputStreams buffer size is set at 4 kilobytes.

To create a buffered input stream, use g_buffered_input_stream_new(), or g_buffered_input_stream_new_sized() to specify the buffer’s size at construction.

To get the size of a buffer within a buffered input stream, use g_buffered_input_stream_get_buffer_size(). To change the size of a buffered input stream’s buffer, use g_buffered_input_stream_set_buffer_size(). Note that the buffer’s size cannot be reduced below the size of the data within the buffer.

Descendants

Implements

Constructors

g_buffered_input_stream_new

Creates a new GInputStream from the given base_stream, with a buffer set to the default size (4 kilobytes).

g_buffered_input_stream_new_sized

Creates a new GBufferedInputStream from the given base_stream, with a buffer set to size.

Instance methods

g_buffered_input_stream_fill

Tries to read count bytes from the stream into the buffer. Will block during this read.

g_buffered_input_stream_fill_async

Reads data into streams buffer asynchronously, up to count size. io_priority can be used to prioritize reads. For the synchronous version of this function, see g_buffered_input_stream_fill().

g_buffered_input_stream_fill_finish

Finishes an asynchronous read.

g_buffered_input_stream_get_available

Gets the size of the available data within the stream.

g_buffered_input_stream_get_buffer_size

Gets the size of the input buffer.

g_buffered_input_stream_peek

Peeks in the buffer, copying data of size count into buffer, offset offset bytes.

g_buffered_input_stream_peek_buffer

Returns the buffer with the currently available bytes. The returned buffer must not be modified and will become invalid when reading from the stream or filling the buffer.

g_buffered_input_stream_read_byte

Tries to read a single byte from the stream or the buffer. Will block during this read.

g_buffered_input_stream_set_buffer_size

Sets the size of the internal buffer of stream to size, or to the size of the contents of the buffer. The buffer can never be resized smaller than its current contents.

Methods inherited from GFilterInputStream (3)
g_filter_input_stream_get_base_stream

Gets the base stream for the filter stream.

g_filter_input_stream_get_close_base_stream

Returns whether the base stream will be closed when stream is closed.

g_filter_input_stream_set_close_base_stream

Sets whether the base stream will be closed when stream is closed.

Methods inherited from GInputStream (19)
g_input_stream_clear_pending

Clears the pending flag on stream.

g_input_stream_close

Closes the stream, releasing resources related to it.

g_input_stream_close_async

Requests an asynchronous closes of the stream, releasing resources related to it. When the operation is finished callback will be called. You can then call g_input_stream_close_finish() to get the result of the operation.

g_input_stream_close_finish

Finishes closing a stream asynchronously, started from g_input_stream_close_async().

g_input_stream_has_pending

Checks if an input stream has pending actions.

g_input_stream_is_closed

Checks if an input stream is closed.

g_input_stream_read

Tries to read count bytes from the stream into the buffer starting at buffer. Will block during this read.

g_input_stream_read_all

Tries to read count bytes from the stream into the buffer starting at buffer. Will block during this read.

g_input_stream_read_all_async

Request an asynchronous read of count bytes from the stream into the buffer starting at buffer.

since: 2.44

g_input_stream_read_all_finish

Finishes an asynchronous stream read operation started with g_input_stream_read_all_async().

since: 2.44

g_input_stream_read_async

Request an asynchronous read of count bytes from the stream into the buffer starting at buffer. When the operation is finished callback will be called. You can then call g_input_stream_read_finish() to get the result of the operation.

g_input_stream_read_bytes

Like g_input_stream_read(), this tries to read count bytes from the stream in a blocking fashion. However, rather than reading into a user-supplied buffer, this will create a new GBytes containing the data that was read. This may be easier to use from language bindings.

since: 2.34

g_input_stream_read_bytes_async

Request an asynchronous read of count bytes from the stream into a new GBytes. When the operation is finished callback will be called. You can then call g_input_stream_read_bytes_finish() to get the result of the operation.

since: 2.34

g_input_stream_read_bytes_finish

Finishes an asynchronous stream read-into-GBytes operation.

since: 2.34

g_input_stream_read_finish

Finishes an asynchronous stream read operation.

g_input_stream_set_pending

Sets stream to have actions pending. If the pending flag is already set or stream is closed, it will return FALSE and set error.

g_input_stream_skip

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

g_input_stream_skip_async

Request an asynchronous skip of count bytes from the stream. When the operation is finished callback will be called. You can then call g_input_stream_skip_finish() to get the result of the operation.

g_input_stream_skip_finish

Finishes a stream skip operation.

Methods inherited from GObject (43)

Please see GObject for a full list of methods.

Methods inherited from GSeekable (5)
g_seekable_can_seek

Tests if the stream supports the GSeekableIface.

g_seekable_can_truncate

Tests if the length of the stream can be adjusted with g_seekable_truncate().

g_seekable_seek

Seeks in the stream by the given offset, modified by type.

g_seekable_tell

Tells the current position within the stream.

g_seekable_truncate

Sets the length of the stream to offset. If the stream was previously larger than offset, the extra data is discarded. If the stream was previously shorter than offset, it is extended with NUL (‘\0’) bytes.

Properties

Gio.BufferedInputStream:buffer-size

The size of the backend buffer, in bytes.

Properties inherited from GFilterInputStream (2)
Gio.FilterInputStream:base-stream

The underlying base stream on which the I/O ops will be done.

Gio.FilterInputStream:close-base-stream

Whether the base stream should be closed when the filter stream is closed.

Signals

Signals inherited from GObject (1)
GObject::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

Class structure

struct GioBufferedInputStreamClass {
  GFilterInputStreamClass parent_class;
  gssize (* fill) (
    GBufferedInputStream* stream,
    gssize count,
    GCancellable* cancellable,
    GError** error
  );
  void (* fill_async) (
    GBufferedInputStream* stream,
    gssize count,
    int io_priority,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data
  );
  gssize (* fill_finish) (
    GBufferedInputStream* stream,
    GAsyncResult* result,
    GError** error
  );
  void (* _g_reserved1) (
void
  );
  void (* _g_reserved2) (
void
  );
  void (* _g_reserved3) (
void
  );
  void (* _g_reserved4) (
void
  );
  void (* _g_reserved5) (
void
  );
  
}
No description available.
Class members
parent_class: GFilterInputStreamClass
No description available.
fill: gssize (* fill) ( GBufferedInputStream* stream, gssize count, GCancellable* cancellable, GError** error )
No description available.
fill_async: void (* fill_async) ( GBufferedInputStream* stream, gssize count, int io_priority, GCancellable* cancellable, GAsyncReadyCallback callback, gpointer user_data )
No description available.
fill_finish: gssize (* fill_finish) ( GBufferedInputStream* stream, GAsyncResult* result, GError** error )
No description available.
_g_reserved1: void (* _g_reserved1) ( void )
No description available.
_g_reserved2: void (* _g_reserved2) ( void )
No description available.
_g_reserved3: void (* _g_reserved3) ( void )
No description available.
_g_reserved4: void (* _g_reserved4) ( void )
No description available.
_g_reserved5: void (* _g_reserved5) ( void )
No description available.

Virtual methods

Gio.BufferedInputStreamClass.fill

Tries to read count bytes from the stream into the buffer. Will block during this read.

Gio.BufferedInputStreamClass.fill_async

Reads data into streams buffer asynchronously, up to count size. io_priority can be used to prioritize reads. For the synchronous version of this function, see g_buffered_input_stream_fill().

Gio.BufferedInputStreamClass.fill_finish

Finishes an asynchronous read.