| 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. |