gio.buffered_output_stream

Module for [BufferedOutputStream] class

Types 3

Buffered output stream implements [gio.filter_output_stream.FilterOutputStream] and provides for buffered writes.

By default, [gio.buffered_output_stream.BufferedOutputStream]'s buffer size is set at 4 kilobytes.

To create a buffered output stream, use [gio.buffered_output_stream.BufferedOutputStream.new_], or [gio.buffered_output_stream.BufferedOutputStream.newSized] to specify the buffer's size at construction.

To get the size of a buffer within a buffered input stream, use [gio.buffered_output_stream.BufferedOutputStream.getBufferSize]. To change the size of a buffered output stream's buffer, use [gio.buffered_output_stream.BufferedOutputStream.setBufferSize]. Note that the buffer's size cannot be reduced below the size of the data within the buffer.

Methods
GType _gType() @property
BufferedOutputStream self()Returns `this`, for use in `with` statements.
BufferedOutputStreamGidBuilder builder()Get builder for [gio.bufferedoutputstream.BufferedOutputStream] Returns: New builder object
bool autoGrow() @propertyGet `autoGrow` property. Returns: Whether the buffer should automatically grow.
void autoGrow(bool propval) @propertySet `autoGrow` property. Params: propval = Whether the buffer should automatically grow.
uint bufferSize() @propertyGet `bufferSize` property. Returns: The size of the backend buffer, in bytes.
void bufferSize(uint propval) @propertySet `bufferSize` property. Params: propval = The size of the backend buffer, in bytes.
gio.buffered_output_stream.BufferedOutputStream newSized(gio.output_stream.OutputStream baseStream, size_t size)Creates a new buffered output stream with a given buffer size.
bool getAutoGrow()Checks if the buffer automatically grows as data is added. Returns: true if the stream's buffer automatically grows, false otherwise.
size_t getBufferSize()Gets the size of the buffer in the stream. Returns: the current size of the buffer.
void setAutoGrow(bool autoGrow)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 o...
void setBufferSize(size_t size)Sets the size of the internal buffer to size.
Constructors
this(void * ptr, Flag!"Take" take)
this(gio.output_stream.OutputStream baseStream)Creates a new buffered output stream for a base stream.
Methods
T autoGrow(bool propval)Set `autoGrow` property. Params: propval = Whether the buffer should automatically grow. Returns: Builder instance for fluent chaining
T bufferSize(uint propval)Set `bufferSize` property. Params: propval = The size of the backend buffer, in bytes. Returns: Builder instance for fluent chaining

Fluent builder for [gio.buffered_output_stream.BufferedOutputStream]