| Copyright | Will Thompson Iñaki García Etxebarria and Jonas Platte | 
|---|---|
| License | LGPL-2.1 | 
| Maintainer | Iñaki García Etxebarria | 
| Safe Haskell | None | 
| Language | Haskell2010 | 
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
- newtype SrvTarget = SrvTarget (ManagedPtr SrvTarget)
 - noSrvTarget :: Maybe SrvTarget
 - srvTargetCopy :: (HasCallStack, MonadIO m) => SrvTarget -> m SrvTarget
 - srvTargetFree :: (HasCallStack, MonadIO m) => SrvTarget -> m ()
 - srvTargetGetHostname :: (HasCallStack, MonadIO m) => SrvTarget -> m Text
 - srvTargetGetPort :: (HasCallStack, MonadIO m) => SrvTarget -> m Word16
 - srvTargetGetPriority :: (HasCallStack, MonadIO m) => SrvTarget -> m Word16
 - srvTargetGetWeight :: (HasCallStack, MonadIO m) => SrvTarget -> m Word16
 - srvTargetNew :: (HasCallStack, MonadIO m) => Text -> Word16 -> Word16 -> Word16 -> m SrvTarget
 
Exported types
Memory-managed wrapper type.
Constructors
| SrvTarget (ManagedPtr SrvTarget) | 
Methods
Overloaded methods
copy
Arguments
| :: (HasCallStack, MonadIO m) | |
| => SrvTarget | 
  | 
| -> m SrvTarget | Returns: a copy of   | 
Copies target
Since: 2.22
free
Arguments
| :: (HasCallStack, MonadIO m) | |
| => SrvTarget | 
  | 
| -> m () | 
Frees target
Since: 2.22
getHostname
Arguments
| :: (HasCallStack, MonadIO m) | |
| => SrvTarget | 
  | 
| -> m Text | Returns:   | 
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
Arguments
| :: (HasCallStack, MonadIO m) | |
| => SrvTarget | 
  | 
| -> m Word16 | Returns:   | 
Gets target's port
Since: 2.22
getPriority
Arguments
| :: (HasCallStack, MonadIO m) | |
| => SrvTarget | 
  | 
| -> m Word16 | Returns:   | 
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
Arguments
| :: (HasCallStack, MonadIO m) | |
| => SrvTarget | 
  | 
| -> m Word16 | Returns:   | 
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