GSrvTarget
GSrvTarget — DNS SRV record target
|
|
Object Hierarchy
GBoxed
╰── GSrvTarget
Includes
#include <gio/gio.h>
Description
SRV (service) records are used by some network protocols to provide
service-specific aliasing and load-balancing. For example, XMPP
(Jabber) uses SRV records to locate the XMPP server for a domain;
rather than connecting directly to "example.com" or assuming a
specific server hostname like "xmpp.example.com", an XMPP client
would look up the "xmpp-client" SRV record for "example.com", and
then connect to whatever host was pointed to by that record.
You can use g_resolver_lookup_service() or
g_resolver_lookup_service_async() to find the GSrvTargets
for a given service. However, if you are simply planning to connect
to the remote service, you can use GNetworkService's
GSocketConnectable interface and not need to worry about
GSrvTarget at all.
Functions
g_srv_target_new ()
GSrvTarget *
g_srv_target_new (const gchar *hostname,
guint16 port,
guint16 priority,
guint16 weight);
Creates a new GSrvTarget with the given parameters.
You should not need to use this; normally GSrvTargets are
created by GResolver.
Since: 2.22
g_srv_target_free ()
void
g_srv_target_free (GSrvTarget *target);
Frees target
Since: 2.22
g_srv_target_get_hostname ()
const gchar *
g_srv_target_get_hostname (GSrvTarget *target);
Gets target
's hostname (in ASCII form; if you are going to present
this to the user, you should use g_hostname_is_ascii_encoded() to
check if it contains encoded Unicode segments, and use
g_hostname_to_unicode() to convert it if it does.)
Returns
target
's hostname
Since: 2.22
g_srv_target_get_port ()
guint16
g_srv_target_get_port (GSrvTarget *target);
Gets target
's port
Since: 2.22
g_srv_target_get_priority ()
guint16
g_srv_target_get_priority (GSrvTarget *target);
Gets target
's priority. You should not need to look at this;
GResolver already sorts the targets according to the algorithm in
RFC 2782.
Returns
target
's priority
Since: 2.22
g_srv_target_get_weight ()
guint16
g_srv_target_get_weight (GSrvTarget *target);
Gets target
's weight. You should not need to look at this;
GResolver already sorts the targets according to the algorithm in
RFC 2782.
Since: 2.22
g_srv_target_list_sort ()
GList *
g_srv_target_list_sort (GList *targets);
Sorts targets
in place according to the algorithm in RFC 2782.
[skip]
Returns
the head of the sorted list.
[transfer full]
Since: 2.22
Types and Values
GSrvTarget
typedef struct _GSrvTarget GSrvTarget;
A single target host/port that a network service is running on.