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.