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().
Given @connection to communicate with a proxy (eg, a #GSocketConnection that is connected to the proxy server), this does the necessary handshake to connect to @proxy_address, and if required, wraps the #GIOStream to handle proxy payload.
Asynchronous version of g_proxy_connect().
See g_proxy_connect().
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.
Checks if an input stream has pending actions.
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.
Tries to read a single byte from the stream or the buffer. Will block during this read.
Seeks in the stream by the given @offset, modified by @type.
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.
Some proxy protocols expect to be passed a hostname, which they will resolve to an IP address themselves. Others, like SOCKS4, do not allow this. This function will return false if @proxy is implementing such a protocol. When false is returned, the caller should resolve the destination hostname first, and then pass a #GProxyAddress containing the stringified IP address to g_proxy_connect() or g_proxy_connect_async().
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.