Safe Haskell | None |
---|---|
Language | Haskell2010 |
- defaultConnectionSettings :: ConnectionSettings
- defaultNatsHost :: HostName
- defaultNatsPort :: PortNumber
- connect :: (MonadThrow m, MonadIO m) => ConnectionSettings -> Int -> m NatsClient
- publish :: (MonadThrow m, MonadIO m, MonadBaseControl IO m) => NatsClient -> Subject -> ByteString -> m ()
- subscribe :: MonadIO m => NatsClient -> Subject -> MessageHandler -> Maybe QueueGroup -> m SubscriptionId
- unsubscribe :: (MonadIO m, MonadBaseControl IO m) => NatsClient -> SubscriptionId -> Maybe Int -> m ()
- withNats :: (MonadMask m, MonadIO m) => ConnectionSettings -> (NatsClient -> m b) -> m b
- createSubject :: ByteString -> Either String Subject
- data ConnectionSettings = ConnectionSettings {
- host :: HostName
- port :: PortNumber
- type MessageHandler = Message -> IO ()
- data NatsClient
- data Subject
- data Message
Documentation
defaultConnectionSettings :: ConnectionSettings Source #
Convenience connection defaults using defaultNatsHost
and defaultNatsPort
defaultNatsHost :: HostName Source #
Default NATS host to connect to
defaultNatsPort :: PortNumber Source #
Default port of the NATS server to connect to
connect :: (MonadThrow m, MonadIO m) => ConnectionSettings -> Int -> m NatsClient Source #
Connect to a NATS server
publish :: (MonadThrow m, MonadIO m, MonadBaseControl IO m) => NatsClient -> Subject -> ByteString -> m () Source #
Publish a ByteString
to Subject
subscribe :: MonadIO m => NatsClient -> Subject -> MessageHandler -> Maybe QueueGroup -> m SubscriptionId Source #
Subscribe to a Subject
processing Message
s via a MessageHandler
. Returns a SubscriptionId
used to cancel subscriptions
unsubscribe :: (MonadIO m, MonadBaseControl IO m) => NatsClient -> SubscriptionId -> Maybe Int -> m () Source #
Unsubscribe to a SubjectId
(returned by subscribe
), with an optional max amount of additional messages to listen to
withNats :: (MonadMask m, MonadIO m) => ConnectionSettings -> (NatsClient -> m b) -> m b Source #
Perform a computation with a NATS connection
createSubject :: ByteString -> Either String Subject Source #
Attempt to create a Subject
from a ByteString
data ConnectionSettings Source #
NATS server connection settings
data NatsClient Source #
A NATS client. See connect
.
Name of a NATS subject. Must be a dot-separated alphanumeric string, with ">" and "." as wildcard characters. See http://nats.io/documentation/internals/nats-protocol/
Messages received from the NATS server
Message ByteString | A published message, containing a payload |
OKMsg | Acknowledgment from server after a client request |
ErrorMsg ByteString | Error message from server after a client request |
Banner ByteString | Server "banner" received via an INFO message |
Ping | Server ping challenge |