BufferedInputStream
Buffered input stream implements class@Gio.FilterInputStream and provides for buffered reads.
By default, GBufferedInputStream
's buffer size is set at 4 kilobytes.
To create a buffered input stream, use ctor@Gio.BufferedInputStream.new, or ctor@Gio.BufferedInputStream.new_sized to specify the buffer's size at construction.
To get the size of a buffer within a buffered input stream, use method@Gio.BufferedInputStream.get_buffer_size. To change the size of a buffered input stream's buffer, use method@Gio.BufferedInputStream.set_buffer_size. Note that the buffer's size cannot be reduced below the size of the data within the buffer.
Skipped during bindings generation
parameter
buffer
: Array parameter of type guint8 is not supportedparameter
count
: count: Out parameter is not supported
Inheritors
Constructors
Creates a new class@Gio.InputStream from the given @base_stream, with a buffer set to the default size (4 kilobytes).
Creates a new class@Gio.BufferedInputStream from the given @base_stream, with a buffer set to @size.
Properties
The underlying base stream on which the I/O ops will be done.
The size of the backend buffer, in bytes.
Whether the base stream should be closed when the filter stream is closed.
Functions
Tests if the length of the stream can be adjusted with g_seekable_truncate().
Clears the pending flag on @stream.
Closes the stream, releasing resources related to it.
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.
Finishes closing a stream asynchronously, started from g_input_stream_close_async().
Tries to read @count bytes from the stream into the buffer. Will block during this read.
Reads data into @stream's buffer asynchronously, up to @count size.
Finishes an asynchronous read.
Gets the size of the available data within the stream.
Gets the base stream for the filter stream.
Gets the size of the input buffer.
Returns whether the base stream will be closed when @stream is closed.
Checks if an input stream has pending actions.
Tries to read a single byte from the stream or the buffer. Will block during this read.
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.
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.
Finishes an asynchronous stream read-into-#GBytes operation.
Finishes an asynchronous stream read operation.
Seeks in the stream by the given @offset, modified by @type.
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.
Sets whether the base stream will be closed when @stream is closed.
Sets @stream to have actions pending. If the pending flag is already set or @stream is closed, it will return false and set
Tries to skip @count bytes from the stream. Will block during the operation.
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.
Finishes a stream skip operation.
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.