class Gio::NetworkService

Overview

Like #GNetworkAddress does with hostnames, #GNetworkService provides an easy way to resolve a SRV record, and then attempt to connect to one of the hosts that implements that service, handling service priority/weighting, multiple IP addresses, and multiple address families.

See #GSrvTarget for more information about SRV records, and see #GSocketConnectable for an example of using the connectable interface.

Included Modules

Defined in:

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

Constructors

Class Method Summary

Instance Method Summary

Instance methods inherited from module Gio::SocketConnectable

enumerate : Gio::SocketAddressEnumerator enumerate, proxy_enumerate : Gio::SocketAddressEnumerator proxy_enumerate, to_string : String to_string, to_unsafe to_unsafe

Constructor methods inherited from module Gio::SocketConnectable

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

Class methods inherited from module Gio::SocketConnectable

cast?(obj : GObject::Object) : self | Nil cast?, 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(service : String, protocol : String, domain : String) : self #

Creates a new #GNetworkService representing the given service, protocol, and domain. This will initially be unresolved; use the #GSocketConnectable interface to resolve it.


[View source]
def self.new #

Initialize a new NetworkService.


[View source]
def self.new(*, domain : String | Nil = nil, protocol : String | Nil = nil, scheme : String | Nil = nil, service : String | Nil = nil) #

[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 domain : String #

Gets the domain that srv serves. This might be either UTF-8 or ASCII-encoded, depending on what srv was created with.


[View source]
def domain=(value : String) : String #

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

See Object#hash(hasher)


def protocol : String #

Gets srv's protocol name (eg, "tcp").


[View source]
def protocol=(value : String) : String #

[View source]
def scheme : String #

Gets the URI scheme used to resolve proxies. By default, the service name is used as scheme.


[View source]
def scheme=(scheme : String) : Nil #

Set's the URI scheme used to resolve proxies. By default, the service name is used as scheme.


[View source]
def service : String #

Gets srv's service name (eg, "ldap").


[View source]
def service=(value : String) : String #

[View source]