SrvTarget#

class SrvTarget(**kwargs)#

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 lookup_service or lookup_service_async to find the GSrvTarget’s 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#

class SrvTarget
classmethod new(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 SrvTarget are created by Resolver.

Added in version 2.22.

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#

class SrvTarget
free() None#

Frees target

Added in version 2.22.

get_hostname() str#

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

Added in version 2.22.

get_port() int#

Gets target’s port

Added in version 2.22.

get_priority() 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.

Added in version 2.22.

get_weight() 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.

Added in version 2.22.