class Gio::TcpConnection

Overview

This is the subclass of #GSocketConnection that is created for TCP/IP sockets.

Direct Known Subclasses

Defined in:

auto/gio-2.0/tcp_connection.cr

Constructors

Class Method Summary

Instance Method Summary

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

new
new(*, 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

new
new(*, 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 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 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

def self.new #

Initialize a new TcpConnection.


def self.new(*, closed : Bool? = nil, graceful_disconnect : Bool? = nil, input_stream : Gio::InputStream? = nil, output_stream : Gio::OutputStream? = nil, socket : Gio::Socket? = nil) #

Class Method Detail

def self.g_type : UInt64 #

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


Instance Method Detail

def graceful_disconnect : Bool #

Checks if graceful disconnects are used. See g_tcp_connection_set_graceful_disconnect().


def graceful_disconnect=(graceful_disconnect : Bool) : Nil #

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.


def graceful_disconnect? : Bool #