Copyright | Will Thompson, Iñaki García Etxebarria and Jonas Platte |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria (garetxe@gmail.com) |
Safe Haskell | None |
Language | Haskell2010 |
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 g_resolver_lookup_service() or g_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 #GNetworkService's #GSocketConnectable interface and not need to worry about #GSrvTarget at all.
- newtype SrvTarget = SrvTarget (ForeignPtr SrvTarget)
- noSrvTarget :: Maybe SrvTarget
- data SrvTargetCopyMethodInfo
- srvTargetCopy :: MonadIO m => SrvTarget -> m SrvTarget
- data SrvTargetFreeMethodInfo
- srvTargetFree :: MonadIO m => SrvTarget -> m ()
- data SrvTargetGetHostnameMethodInfo
- srvTargetGetHostname :: MonadIO m => SrvTarget -> m Text
- data SrvTargetGetPortMethodInfo
- srvTargetGetPort :: MonadIO m => SrvTarget -> m Word16
- data SrvTargetGetPriorityMethodInfo
- srvTargetGetPriority :: MonadIO m => SrvTarget -> m Word16
- data SrvTargetGetWeightMethodInfo
- srvTargetGetWeight :: MonadIO m => SrvTarget -> m Word16
- srvTargetNew :: MonadIO m => Text -> Word16 -> Word16 -> Word16 -> m SrvTarget
Exported types
Methods
srvTargetCopy
data SrvTargetCopyMethodInfo Source
((~) (TYPE Lifted) signature (m SrvTarget), MonadIO m) => MethodInfo (TYPE Lifted) SrvTargetCopyMethodInfo SrvTarget signature Source | |
srvTargetCopy :: MonadIO m => SrvTarget -> m SrvTarget Source
srvTargetFree
data SrvTargetFreeMethodInfo Source
((~) (TYPE Lifted) signature (m ()), MonadIO m) => MethodInfo (TYPE Lifted) SrvTargetFreeMethodInfo SrvTarget signature Source | |
srvTargetFree :: MonadIO m => SrvTarget -> m () Source
srvTargetGetHostname
data SrvTargetGetHostnameMethodInfo Source
((~) (TYPE Lifted) signature (m Text), MonadIO m) => MethodInfo (TYPE Lifted) SrvTargetGetHostnameMethodInfo SrvTarget signature Source | |
srvTargetGetHostname :: MonadIO m => SrvTarget -> m Text Source
srvTargetGetPort
data SrvTargetGetPortMethodInfo Source
((~) (TYPE Lifted) signature (m Word16), MonadIO m) => MethodInfo (TYPE Lifted) SrvTargetGetPortMethodInfo SrvTarget signature Source | |
srvTargetGetPort :: MonadIO m => SrvTarget -> m Word16 Source
srvTargetGetPriority
data SrvTargetGetPriorityMethodInfo Source
((~) (TYPE Lifted) signature (m Word16), MonadIO m) => MethodInfo (TYPE Lifted) SrvTargetGetPriorityMethodInfo SrvTarget signature Source | |
srvTargetGetPriority :: MonadIO m => SrvTarget -> m Word16 Source
srvTargetGetWeight
data SrvTargetGetWeightMethodInfo Source
((~) (TYPE Lifted) signature (m Word16), MonadIO m) => MethodInfo (TYPE Lifted) SrvTargetGetWeightMethodInfo SrvTarget signature Source | |
srvTargetGetWeight :: MonadIO m => SrvTarget -> m Word16 Source