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
BoxedObject SrvTarget | |
((~) * signature (m Word16), MonadIO m) => MethodInfo * SrvTargetGetWeightMethodInfo SrvTarget signature | |
((~) * signature (m Word16), MonadIO m) => MethodInfo * SrvTargetGetPriorityMethodInfo SrvTarget signature | |
((~) * signature (m Word16), MonadIO m) => MethodInfo * SrvTargetGetPortMethodInfo SrvTarget signature | |
((~) * signature (m Text), MonadIO m) => MethodInfo * SrvTargetGetHostnameMethodInfo SrvTarget signature | |
((~) * signature (m ()), MonadIO m) => MethodInfo * SrvTargetFreeMethodInfo SrvTarget signature | |
((~) * signature (m SrvTarget), MonadIO m) => MethodInfo * SrvTargetCopyMethodInfo SrvTarget signature | |
((~) * info (ResolveSrvTargetMethod t SrvTarget), MethodInfo * info SrvTarget p) => IsLabelProxy t (SrvTarget -> p) | |
type AttributeList SrvTarget |
Methods
srvTargetCopy
data SrvTargetCopyMethodInfo Source
((~) * signature (m SrvTarget), MonadIO m) => MethodInfo * SrvTargetCopyMethodInfo SrvTarget signature |
srvTargetCopy :: MonadIO m => SrvTarget -> m SrvTarget Source
srvTargetFree
data SrvTargetFreeMethodInfo Source
((~) * signature (m ()), MonadIO m) => MethodInfo * SrvTargetFreeMethodInfo SrvTarget signature |
srvTargetFree :: MonadIO m => SrvTarget -> m () Source
srvTargetGetHostname
data SrvTargetGetHostnameMethodInfo Source
((~) * signature (m Text), MonadIO m) => MethodInfo * SrvTargetGetHostnameMethodInfo SrvTarget signature |
srvTargetGetHostname :: MonadIO m => SrvTarget -> m Text Source
srvTargetGetPort
data SrvTargetGetPortMethodInfo Source
((~) * signature (m Word16), MonadIO m) => MethodInfo * SrvTargetGetPortMethodInfo SrvTarget signature |
srvTargetGetPort :: MonadIO m => SrvTarget -> m Word16 Source
srvTargetGetPriority
data SrvTargetGetPriorityMethodInfo Source
((~) * signature (m Word16), MonadIO m) => MethodInfo * SrvTargetGetPriorityMethodInfo SrvTarget signature |
srvTargetGetPriority :: MonadIO m => SrvTarget -> m Word16 Source
srvTargetGetWeight
data SrvTargetGetWeightMethodInfo Source
((~) * signature (m Word16), MonadIO m) => MethodInfo * SrvTargetGetWeightMethodInfo SrvTarget signature |
srvTargetGetWeight :: MonadIO m => SrvTarget -> m Word16 Source