Top |
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.
GOutputStream *
g_buffered_output_stream_new (GOutputStream *base_stream
);
Creates a new buffered output stream for a 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.
gsize
g_buffered_output_stream_get_buffer_size
(GBufferedOutputStream *stream
);
Gets the size of the buffer in the stream
.
void g_buffered_output_stream_set_buffer_size (GBufferedOutputStream *stream
,gsize size
);
Sets the size of the internal buffer to size
.
gboolean
g_buffered_output_stream_get_auto_grow
(GBufferedOutputStream *stream
);
Checks if the buffer automatically grows as data is added.
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.
typedef struct _GBufferedOutputStream GBufferedOutputStream;
An implementation of GFilterOutputStream with a sized buffer.
“auto-grow”
property“auto-grow” gboolean
Whether the buffer should automatically grow.
Flags: Read / Write
Default value: FALSE
“buffer-size”
property“buffer-size” guint
The size of the backend buffer.
Flags: Read / Write / Construct
Allowed values: >= 1
Default value: 4096