![]() |
![]() |
![]() |
GIO Reference Manual | ![]() |
---|---|---|---|---|
#include <gio/gio.h> GBufferedOutputStream; GOutputStream* g_buffered_output_stream_new (GOutputStream *base_stream); GOutputStream* g_buffered_output_stream_new_sized (GOutputStream *base_stream, gsize size); gsize g_buffered_output_stream_get_buffer_size (GBufferedOutputStream *stream); void g_buffered_output_stream_set_buffer_size (GBufferedOutputStream *stream, gsize size); gboolean g_buffered_output_stream_get_auto_grow (GBufferedOutputStream *stream); void g_buffered_output_stream_set_auto_grow (GBufferedOutputStream *stream, gboolean auto_grow);
Buffered output stream implements GFilterOutputStream and provides for buffered writes.
By default, GBufferedOutputStream's buffer size is set at 4 kilobytes.
To create a buffered output stream, use g_buffered_output_stream_new(), or g_buffered_output_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_output_stream_get_buffer_size(). To change the size of a buffered output stream's buffer, use g_buffered_output_stream_set_buffer_size(). Note that the buffer's size cannot be reduced below the size of the data within the buffer.
typedef struct _GBufferedOutputStream GBufferedOutputStream;
An implementation of GFilterOutputStream with a sized buffer.
GOutputStream* g_buffered_output_stream_new (GOutputStream *base_stream);
Creates a new buffered output stream for a base stream.
base_stream : | a GOutputStream. |
Returns : | a GOutputStream for the given base_stream. |
GOutputStream* g_buffered_output_stream_new_sized (GOutputStream *base_stream, gsize size);
Creates a new buffered output stream with a given buffer size.
base_stream : | a GOutputStream. |
size : | a gsize. |
Returns : | a GOutputStream with an internal buffer set to size. |
gsize g_buffered_output_stream_get_buffer_size (GBufferedOutputStream *stream);
Gets the size of the buffer in the stream.
stream : | a GBufferedOutputStream. |
Returns : | the current size of the buffer. |
void g_buffered_output_stream_set_buffer_size (GBufferedOutputStream *stream, gsize size);
Sets the size of the internal buffer to size.
stream : | a GBufferedOutputStream. |
size : | a gsize. |
gboolean g_buffered_output_stream_get_auto_grow (GBufferedOutputStream *stream);
Checks if the buffer automatically grows as data is added.
stream : | a GBufferedOutputStream. |
Returns : | TRUE if the stream's buffer automatically grows, FALSE otherwise. |
void g_buffered_output_stream_set_auto_grow (GBufferedOutputStream *stream, gboolean auto_grow);
Sets whether or not the stream's buffer should automatically grow. If auto_grow is true, then each write will just make the buffer larger, and you must manually flush the buffer to actually write out the data to the underlying stream.
stream : | a GBufferedOutputStream. |
auto_grow : | a gboolean. |