Package ch.bailu.gtk.gio
Class SrvTarget
java.lang.Object
ch.bailu.gtk.type.Type
ch.bailu.gtk.type.Pointer
ch.bailu.gtk.type.Record
ch.bailu.gtk.gio.SrvTarget
- All Implemented Interfaces:
PointerInterface
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.
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.
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptioncopy()
Copies @targetvoid
free()
Frees @targetstatic ClassHandler
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.)static int
static long
static TypeSystem.TypeSize
int
getPort()
Gets @target's portint
Gets @target's priority.static long
static TypeSystem.TypeSize
int
Gets @target's weight.static List
Sorts @targets in place according to the algorithm in RFC 2782.Methods inherited from class ch.bailu.gtk.type.Pointer
asCPointer, cast, connectSignal, disconnectSignals, disconnectSignals, equals, hashCode, throwIfNull, throwNullPointerException, toString, unregisterCallbacks, unregisterCallbacks
Methods inherited from class ch.bailu.gtk.type.Type
asCPointer, asCPointer, asCPointerNotNull, asJnaPointer, asJnaPointer, asPointer, asPointer, cast, cast, throwIfNull
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface ch.bailu.gtk.type.PointerInterface
asCPointerNotNull, asJnaPointer, asPointer, isNotNull, isNull
-
Constructor Details
-
SrvTarget
-
SrvTarget
Creates a new #GSrvTarget with the given parameters.
You should not need to use this; normally #GSrvTargets are
created by #GResolver.- Parameters:
hostname
- the host that the service is running onport
- the port that the service is running onpriority
- the target's priorityweight
- the target's weight
-
SrvTarget
Creates a new #GSrvTarget with the given parameters.
You should not need to use this; normally #GSrvTargets are
created by #GResolver.- Parameters:
hostname
- the host that the service is running onport
- the port that the service is running onpriority
- the target's priorityweight
- the target's weight
-
-
Method Details
-
getClassHandler
-
copy
Copies @target- Returns:
- a copy of @target
-
free
public void free()Frees @target -
getHostname
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
-
getPort
public int getPort()Gets @target's port- Returns:
- @target's port
-
getPriority
public int getPriority()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
-
getWeight
public int getWeight()Gets @target's weight. You should not need to look at this;
#GResolver already sorts the targets according to the algorithm in
RFC 2782.- Returns:
- @target's weight
-
listSort
Sorts @targets in place according to the algorithm in RFC 2782.- Parameters:
targets
- a #GList of #GSrvTarget- Returns:
- the head of the sorted list.
-
getTypeID
public static long getTypeID() -
getParentTypeID
public static long getParentTypeID() -
getTypeSize
-
getParentTypeSize
-
getInstanceSize
public static int getInstanceSize()
-