nats-client-0.1.0.0: Another Haskell client for NATS (https://nats.io)

Safe HaskellNone
LanguageHaskell2010

Network.Nats.Client

Description

 

Synopsis

Documentation

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

subscribe :: MonadIO m => NatsClient -> Subject -> MessageHandler -> Maybe QueueGroup -> m SubscriptionId Source #

Subscribe to a Subject processing Messages 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

type MessageHandler = Message -> IO () Source #

Message handling function

data NatsClient Source #

A NATS client. See connect.

data Subject Source #

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/

Instances

data Message Source #

Messages received from the NATS server

Constructors

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

Instances