class Gio::BufferedOutputStream

Overview

Buffered output stream implements Gio::FilterOutputStream and provides for buffered writes.

By default, GBufferedOutputStream's buffer size is set at 4 kilobytes.

To create a buffered output stream, use Gio::BufferedOutputStream.new, or Gio::BufferedOutputStream#new_sized to specify the buffer's size at construction.

To get the size of a buffer within a buffered input stream, use Gio::BufferedOutputStream#buffer_size. To change the size of a buffered output stream's buffer, use Gio::BufferedOutputStream#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 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 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 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 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 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 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 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 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

Macros inherited from class GObject::Object

previous_vfunc(*args) previous_vfunc, previous_vfunc!(*args) previous_vfunc!, signal(signature) signal

Constructor Detail

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

Creates a new buffered output stream for a base stream.


def self.new #

Initialize a new BufferedOutputStream.


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) #

def self.new_sized(base_stream : Gio::OutputStream, size : UInt64) : self #

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


Class Method Detail

def self.g_type : UInt64 #

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


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.


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.


def auto_grow? : Bool #

def buffer_size : UInt64 #

Gets the size of the buffer in the stream.


def buffer_size=(value : UInt32) : UInt32 #

def buffer_size=(size : UInt64) : Nil #

Sets the size of the internal buffer to size.


def hash(hasher) #
Description copied from class Reference

See Object#hash(hasher)