Class SrvTarget

All Implemented Interfaces:
PointerInterface

public class SrvTarget extends Record
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.

https://docs.gtk.org/gio/struct.SrvTarget.html

  • Constructor Details

    • SrvTarget

      public SrvTarget(PointerContainer pointer)
    • SrvTarget

      public SrvTarget(@Nonnull Str hostname, int port, int priority, int weight)
      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 on
      port - the port that the service is running on
      priority - the target's priority
      weight - the target's weight
    • SrvTarget

      public SrvTarget(String hostname, int port, int priority, int weight)
      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 on
      port - the port that the service is running on
      priority - the target's priority
      weight - the target's weight
  • Method Details

    • getClassHandler

      public static ClassHandler getClassHandler()
    • copy

      public SrvTarget copy()
      Copies @target
      Returns:
      a copy of @target
    • free

      public void free()
      Frees @target
    • getHostname

      public Str 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

      public static List listSort(@Nonnull List targets)
      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

      public static TypeSystem.TypeSize getTypeSize()
    • getParentTypeSize

      public static TypeSystem.TypeSize getParentTypeSize()
    • getInstanceSize

      public static int getInstanceSize()