gi-gio-2.0.27: Gio bindings
CopyrightWill Thompson Iñaki García Etxebarria and Jonas Platte
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria
Safe HaskellNone
LanguageHaskell2010

GI.Gio.Structs.SrvTarget

Description

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 resolverLookupService or resolverLookupServiceAsync 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 SrvTarget at all.

Synopsis

Exported types

newtype SrvTarget Source #

Memory-managed wrapper type.

Instances

Instances details
Eq SrvTarget Source # 
Instance details

Defined in GI.Gio.Structs.SrvTarget

IsGValue SrvTarget Source #

Convert SrvTarget to and from GValue with toGValue and fromGValue.

Instance details

Defined in GI.Gio.Structs.SrvTarget

ManagedPtrNewtype SrvTarget Source # 
Instance details

Defined in GI.Gio.Structs.SrvTarget

TypedObject SrvTarget Source # 
Instance details

Defined in GI.Gio.Structs.SrvTarget

Methods

glibType :: IO GType #

GBoxed SrvTarget Source # 
Instance details

Defined in GI.Gio.Structs.SrvTarget

HasParentTypes SrvTarget Source # 
Instance details

Defined in GI.Gio.Structs.SrvTarget

type ParentTypes SrvTarget Source # 
Instance details

Defined in GI.Gio.Structs.SrvTarget

type ParentTypes SrvTarget = '[] :: [Type]

Methods

Overloaded methods

copy

srvTargetCopy Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> SrvTarget

target: a SrvTarget

-> m SrvTarget

Returns: a copy of target

Copies target

Since: 2.22

free

srvTargetFree Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> SrvTarget

target: a SrvTarget

-> m () 

Frees target

Since: 2.22

getHostname

srvTargetGetHostname Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> SrvTarget

target: a SrvTarget

-> m Text

Returns: target's hostname

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

Since: 2.22

getPort

srvTargetGetPort Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> SrvTarget

target: a SrvTarget

-> m Word16

Returns: target's port

Gets target's port

Since: 2.22

getPriority

srvTargetGetPriority Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> SrvTarget

target: a SrvTarget

-> m Word16

Returns: target's priority

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

Since: 2.22

getWeight

srvTargetGetWeight Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> SrvTarget

target: a SrvTarget

-> m Word16

Returns: target's weight

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

Since: 2.22

new

srvTargetNew Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Text

hostname: the host that the service is running on

-> Word16

port: the port that the service is running on

-> Word16

priority: the target's priority

-> Word16

weight: the target's weight

-> m SrvTarget

Returns: a new SrvTarget.

Creates a new SrvTarget with the given parameters.

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

Since: 2.22