class Gio::TcpConnection
Overview
This is the subclass of #GSocketConnection that is created for TCP/IP sockets.
Direct Known Subclasses
Defined in:
lib/gi-crystal/src/auto/gio-2.0/tcp_connection.crConstructors
-
.new
Initialize a new
TcpConnection
. - .new(*, closed : Bool? = nil, graceful_disconnect : Bool? = nil, input_stream : Gio::InputStream? = nil, output_stream : Gio::OutputStream? = nil, socket : Gio::Socket? = nil)
Class Method Summary
-
.g_type : UInt64
Returns the type id (GType) registered in GLib type system.
Instance Method Summary
-
#graceful_disconnect : Bool
Checks if graceful disconnects are used.
-
#graceful_disconnect=(graceful_disconnect : Bool) : Nil
This enables graceful disconnects on close.
- #graceful_disconnect? : Bool
Instance methods inherited from class Gio::SocketConnection
connect(address : Gio::SocketAddress, cancellable : Gio::Cancellable?) : Bool
connect,
connect_async(address : Gio::SocketAddress, cancellable : Gio::Cancellable?, callback : Gio::AsyncReadyCallback?, user_data : Pointer(Void)?) : Nil
connect_async,
connect_finish(result : Gio::AsyncResult) : Bool
connect_finish,
is_connected : Bool
is_connected,
local_address : Gio::SocketAddress
local_address,
remote_address : Gio::SocketAddress
remote_address,
socket : Gio::Socket
socket,
socket=(value : Gio::Socket?) : Gio::Socket?
socket=
Constructor methods inherited from class Gio::SocketConnection
newnew(*, closed : Bool? = nil, input_stream : Gio::InputStream? = nil, output_stream : Gio::OutputStream? = nil, socket : Gio::Socket? = nil) new
Class methods inherited from class Gio::SocketConnection
factory_lookup_type(family : Gio::SocketFamily, type : Gio::SocketType, protocol_id : Int32) : UInt64
factory_lookup_type,
factory_register_type(g_type : UInt64, family : Gio::SocketFamily, type : Gio::SocketType, protocol : Int32) : Nil
factory_register_type,
g_type : UInt64
g_type
Instance methods inherited from class Gio::IOStream
clear_pending : Nil
clear_pending,
close(cancellable : Gio::Cancellable?) : Bool
close,
close_async(io_priority : Int32, cancellable : Gio::Cancellable?, callback : Gio::AsyncReadyCallback?, user_data : Pointer(Void)?) : Nil
close_async,
close_finish(result : Gio::AsyncResult) : Bool
close_finish,
closed? : Bool
closed?,
has_pending : Bool
has_pending,
input_stream : Gio::InputStream
input_stream,
is_closed : Bool
is_closed,
output_stream : Gio::OutputStream
output_stream,
set_pending : Bool
set_pending,
splice_async(stream2 : Gio::IOStream, flags : Gio::IOStreamSpliceFlags, io_priority : Int32, cancellable : Gio::Cancellable?, callback : Gio::AsyncReadyCallback?, user_data : Pointer(Void)?) : Nil
splice_async,
splice_finish(result : Gio::AsyncResult) : Bool
splice_finish
Constructor methods inherited from class Gio::IOStream
newnew(*, closed : Bool? = nil, input_stream : Gio::InputStream? = nil, output_stream : Gio::OutputStream? = nil) new
Class methods inherited from class Gio::IOStream
g_type : UInt64
g_type
Instance methods inherited from class GObject::Object
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)?
data,
finalize
finalize,
freeze_notify : Nil
freeze_notify,
getv(names : Enumerable(String), values : Enumerable(_)) : Nil
getv,
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)?
qdata,
ref_count : UInt32
ref_count,
run_dispose : Nil
run_dispose,
set_data(key : String, data : Pointer(Void)?) : Nil
set_data,
set_property(property_name : String, value : _) : Nil
set_property,
steal_data(key : String) : Pointer(Void)?
steal_data,
steal_qdata(quark : UInt32) : Pointer(Void)?
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,
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
compat_control(what : UInt64, data : Pointer(Void)?) : 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
Class Method Detail
Instance Method Detail
Checks if graceful disconnects are used. See g_tcp_connection_set_graceful_disconnect().
This enables graceful disconnects on close. A graceful disconnect means that we signal the receiving end that the connection is terminated and wait for it to close the connection before closing the connection.
A graceful disconnect means that we can be sure that we successfully sent all the outstanding data to the other end, or get an error reported. However, it also means we have to wait for all the data to reach the other side and for it to acknowledge this by closing the socket, which may take a while. For this reason it is disabled by default.