| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
DMQ.Protocol.LocalMsgNotification.Client
Description
A higher level API to implement clients for local message notification miniprotocol.
For execution, localMsgNotificationClientPeer reinterprets this high level
description into the underlying typed protocol representation.
Synopsis
- newtype LocalMsgNotificationClient (m :: Type -> Type) msg a = LocalMsgNotificationClient {
- runMsgNotificationClient :: m (LocalMsgNotificationClientStIdle m msg a)
- data LocalMsgNotificationClientStIdle (m :: Type -> Type) msg a
- = SendMsgRequestBlocking !(NonEmpty msg -> HasMore -> m (LocalMsgNotificationClientStIdle m msg a))
- | SendMsgRequestNonBlocking !([msg] -> HasMore -> m (LocalMsgNotificationClientStIdle m msg a))
- | SendMsgDone !(m a)
- localMsgNotificationClientPeer :: forall (m :: Type -> Type) msg a. Monad m => LocalMsgNotificationClient m msg a -> Client (LocalMsgNotification msg) 'NonPipelined ('StIdle :: LocalMsgNotification msg) m a
Client API types
newtype LocalMsgNotificationClient (m :: Type -> Type) msg a Source #
The high level client wrapper
Constructors
| LocalMsgNotificationClient | |
Fields
| |
data LocalMsgNotificationClientStIdle (m :: Type -> Type) msg a Source #
The client API message types
Constructors
| SendMsgRequestBlocking !(NonEmpty msg -> HasMore -> m (LocalMsgNotificationClientStIdle m msg a)) | a continuation |
| SendMsgRequestNonBlocking !([msg] -> HasMore -> m (LocalMsgNotificationClientStIdle m msg a)) | |
| SendMsgDone !(m a) |
Translates the client into a typed protocol
localMsgNotificationClientPeer :: forall (m :: Type -> Type) msg a. Monad m => LocalMsgNotificationClient m msg a -> Client (LocalMsgNotification msg) 'NonPipelined ('StIdle :: LocalMsgNotification msg) m a Source #
A non-pipelined Peer representing the LocalMsgNotificationClient.
Translates the client into the typed protocol representation.