class Gio::BufferedOutputStream

Overview

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.

Included Modules

Defined in:

lib/gi-crystal/src/auto/gio-2.0/buffered_output_stream.cr

Constructors

Class Method Summary

Instance Method Summary

Instance methods inherited from module Gio::Seekable

can_seek : Bool can_seek, can_truncate : Bool can_truncate, seek(offset : Int64, type : GLib::SeekType, cancellable : Gio::Cancellable | Nil) : Bool seek, tell : Int64 tell, to_unsafe to_unsafe, truncate(offset : Int64, cancellable : Gio::Cancellable | Nil) : Bool truncate

Constructor methods inherited from module Gio::Seekable

cast(obj : GObject::Object) : self cast

Class methods inherited from module Gio::Seekable

cast?(obj : GObject::Object) : self | Nil cast?, g_type : UInt64 g_type

Instance methods inherited from class Gio::FilterOutputStream

==(other : self) ==, base_stream : Gio::OutputStream base_stream, base_stream=(value : Gio::OutputStream | Nil) : Gio::OutputStream | Nil base_stream=, close_base_stream : Bool close_base_stream, close_base_stream=(close_base : Bool) : Nil close_base_stream=, close_base_stream? : Bool close_base_stream?, hash(hasher) hash

Constructor methods inherited from class Gio::FilterOutputStream

new
new(*, base_stream : Gio::OutputStream | Nil = nil, close_base_stream : Bool | Nil = nil)
new

Class methods inherited from class Gio::FilterOutputStream

g_type : UInt64 g_type

Instance methods inherited from class Gio::OutputStream

==(other : self) ==, clear_pending : Nil clear_pending, close(cancellable : Gio::Cancellable | Nil) : Bool close, close_async(io_priority : Int32, cancellable : Gio::Cancellable | Nil, callback : Gio::AsyncReadyCallback | Nil, user_data : Pointer(Void) | Nil) : Nil close_async, close_finish(result : Gio::AsyncResult) : Bool close_finish, flush(cancellable : Gio::Cancellable | Nil) : Bool flush, flush_async(io_priority : Int32, cancellable : Gio::Cancellable | Nil, callback : Gio::AsyncReadyCallback | Nil, user_data : Pointer(Void) | Nil) : Nil flush_async, flush_finish(result : Gio::AsyncResult) : Bool flush_finish, has_pending : Bool has_pending, hash(hasher) hash, is_closed : Bool is_closed, is_closing : Bool is_closing, set_pending : Bool set_pending, splice(source : Gio::InputStream, flags : Gio::OutputStreamSpliceFlags, cancellable : Gio::Cancellable | Nil) : Int64 splice, splice_async(source : Gio::InputStream, flags : Gio::OutputStreamSpliceFlags, io_priority : Int32, cancellable : Gio::Cancellable | Nil, callback : Gio::AsyncReadyCallback | Nil, user_data : Pointer(Void) | Nil) : Nil splice_async, splice_finish(result : Gio::AsyncResult) : Int64 splice_finish, write(buffer : Bytes, cancellable : Gio::Cancellable | Nil) : Int64 write, write_all(buffer : Bytes, cancellable : Gio::Cancellable | Nil) : Bool write_all, write_all_async(buffer : Bytes, io_priority : Int32, cancellable : Gio::Cancellable | Nil, callback : Gio::AsyncReadyCallback | Nil, user_data : Pointer(Void) | Nil) : Nil write_all_async, write_all_finish(result : Gio::AsyncResult) : Bool write_all_finish, write_async(buffer : Bytes, io_priority : Int32, cancellable : Gio::Cancellable | Nil, callback : Gio::AsyncReadyCallback | Nil, user_data : Pointer(Void) | Nil) : Nil write_async, write_bytes(bytes : GLib::Bytes, cancellable : Gio::Cancellable | Nil) : Int64 write_bytes, write_bytes_async(bytes : GLib::Bytes, io_priority : Int32, cancellable : Gio::Cancellable | Nil, callback : Gio::AsyncReadyCallback | Nil, user_data : Pointer(Void) | Nil) : Nil write_bytes_async, write_bytes_finish(result : Gio::AsyncResult) : Int64 write_bytes_finish, write_finish(result : Gio::AsyncResult) : Int64 write_finish, writev(vectors : Enumerable(Gio::OutputVector), cancellable : Gio::Cancellable | Nil) : Bool writev, writev_all(vectors : Enumerable(Gio::OutputVector), cancellable : Gio::Cancellable | Nil) : Bool writev_all, writev_all_async(vectors : Enumerable(Gio::OutputVector), io_priority : Int32, cancellable : Gio::Cancellable | Nil, callback : Gio::AsyncReadyCallback | Nil, user_data : Pointer(Void) | Nil) : Nil writev_all_async, writev_all_finish(result : Gio::AsyncResult) : Bool writev_all_finish, writev_async(vectors : Enumerable(Gio::OutputVector), io_priority : Int32, cancellable : Gio::Cancellable | Nil, callback : Gio::AsyncReadyCallback | Nil, user_data : Pointer(Void) | Nil) : Nil writev_async, writev_finish(result : Gio::AsyncResult) : Bool writev_finish

Constructor methods inherited from class Gio::OutputStream

new new

Class methods inherited from class Gio::OutputStream

g_type : UInt64 g_type

Instance methods inherited from class GObject::Object

==(other : self) ==, bind_property(source_property : String, target : GObject::Object, target_property : String, flags : GObject::BindingFlags) : GObject::Binding bind_property, bind_property_full(source_property : String, target : GObject::Object, target_property : String, flags : GObject::BindingFlags, transform_to : GObject::Closure, transform_from : GObject::Closure) : GObject::Binding bind_property_full, data(key : String) : Pointer(Void) | Nil data, finalize finalize, freeze_notify : Nil freeze_notify, getv(names : Enumerable(String), values : Enumerable(_)) : Nil getv, hash(hasher) hash, notify(property_name : String) : Nil notify, notify_by_pspec(pspec : GObject::ParamSpec) : Nil notify_by_pspec, notify_signal notify_signal, property(property_name : String, value : _) : Nil property, qdata(quark : UInt32) : Pointer(Void) | Nil qdata, ref_count : UInt32 ref_count, run_dispose : Nil run_dispose, set_data(key : String, data : Pointer(Void) | Nil) : Nil set_data, set_property(property_name : String, value : _) : Nil set_property, steal_data(key : String) : Pointer(Void) | Nil steal_data, steal_qdata(quark : UInt32) : Pointer(Void) | Nil steal_qdata, thaw_notify : Nil thaw_notify, to_unsafe : Pointer(Void) to_unsafe, watch_closure(closure : GObject::Closure) : Nil watch_closure

Constructor methods inherited from class GObject::Object

cast(obj : GObject::Object) : self cast, new(pointer : Pointer(Void), transfer : GICrystal::Transfer)
new
new
, newv(object_type : UInt64, parameters : Enumerable(GObject::Parameter)) : self newv

Class methods inherited from class GObject::Object

cast?(obj : GObject::Object) : self | Nil cast?, compat_control(what : UInt64, data : Pointer(Void) | Nil) : UInt64 compat_control, g_type : UInt64 g_type, interface_find_property(g_iface : GObject::TypeInterface, property_name : String) : GObject::ParamSpec interface_find_property, interface_list_properties(g_iface : GObject::TypeInterface) : Enumerable(GObject::ParamSpec) interface_list_properties

Constructor Detail

def self.new(base_stream : Gio::OutputStream) : self #

Creates a new buffered output stream for a base stream.


[View source]
def self.new #

Initialize a new BufferedOutputStream.


[View source]
def self.new(*, auto_grow : Bool | Nil = nil, base_stream : Gio::OutputStream | Nil = nil, buffer_size : UInt32 | Nil = nil, close_base_stream : Bool | Nil = nil) #

[View source]
def self.new_sized(base_stream : Gio::OutputStream, size : UInt64) : self #

Creates a new buffered output stream with a given buffer size.


[View source]

Class Method Detail

def self.g_type : UInt64 #

Returns the type id (GType) registered in GLib type system.


[View source]

Instance Method Detail

def ==(other : self) #
Description copied from class Reference

Returns true if this reference is the same as other. Invokes same?.


def auto_grow : Bool #

Checks if the buffer automatically grows as data is added.


[View source]
def auto_grow=(auto_grow : Bool) : Nil #

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.


[View source]
def auto_grow? : Bool #

[View source]
def buffer_size : UInt64 #

Gets the size of the buffer in the stream.


[View source]
def buffer_size=(value : UInt32) : UInt32 #

[View source]
def buffer_size=(size : UInt64) : Nil #

Sets the size of the internal buffer to size.


[View source]
def hash(hasher) #
Description copied from class Reference

See Object#hash(hasher)