Skip to content

Gio.SrvTarget

record (struct)

A single target host/port that a network service is running on.

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 Resolver.lookup_service or 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 NetworkService’s SocketConnectable interface and not need to worry about GSrvTarget at all.

Constructors

new

@classmethod
def new(cls, hostname: str, port: int, priority: int, weight: int) -> SrvTarget

Creates a new SrvTarget with the given parameters.

You should not need to use this; normally GSrvTargets are created by Resolver.

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

Methods

copy

def copy(self) -> SrvTarget

Copies target

free

def free(self) -> None

Frees target

get_hostname

def get_hostname(self) -> str

Gets target's hostname (in ASCII form; if you are going to present this to the user, you should use GLib.hostname_is_ascii_encoded to check if it contains encoded Unicode segments, and use GLib.hostname_to_unicode to convert it if it does.)

get_port

def get_port(self) -> int

Gets target's port

get_priority

def get_priority(self) -> int

Gets target's priority. You should not need to look at this; Resolver already sorts the targets according to the algorithm in RFC 2782.

get_weight

def get_weight(self) -> int

Gets target's weight. You should not need to look at this; Resolver already sorts the targets according to the algorithm in RFC 2782.