| Copyright | (c) 2013 Toralf Wittner |
|---|---|
| License | MIT |
| Maintainer | Toralf Wittner <tw@dtex.org> |
| Stability | experimental |
| Portability | non-portable |
| Safe Haskell | None |
| Language | Haskell98 |
System.ZMQ4.Monadic
Description
Synopsis
- data ZMQ z a
- data Socket z t
- data Flag
- data Switch
- type Timeout = Int64
- data Event
- data EventType
- data EventMsg
- = Connected !ByteString !Fd
- | ConnectDelayed !ByteString
- | ConnectRetried !ByteString !Int
- | Listening !ByteString !Fd
- | BindFailed !ByteString !Int
- | Accepted !ByteString !Fd
- | AcceptFailed !ByteString !Int
- | Closed !ByteString !Fd
- | CloseFailed !ByteString !Int
- | Disconnected !ByteString !Fd
- | MonitorStopped !ByteString !Int
- data Poll s m where
- data KeyFormat a where
- data SecurityMechanism
- class SocketType a
- class Sender a
- class Receiver a
- class Subscriber a
- class SocketLike s
- class Conflatable a
- class SendProbe a
- data Pair = Pair
- data Pub = Pub
- data Sub = Sub
- data XPub = XPub
- data XSub = XSub
- data Req = Req
- data Rep = Rep
- data Dealer = Dealer
- data Router = Router
- data Pull = Pull
- data Push = Push
- data Stream = Stream
- version :: ZMQ z (Int, Int, Int)
- runZMQ :: MonadIO m => (forall z. ZMQ z a) -> m a
- async :: ZMQ z a -> ZMQ z (Async a)
- socket :: SocketType t => t -> ZMQ z (Socket z t)
- ioThreads :: ZMQ z Word
- maxSockets :: ZMQ z Word
- setIoThreads :: Word -> ZMQ z ()
- setMaxSockets :: Word -> ZMQ z ()
- close :: Socket z t -> ZMQ z ()
- bind :: Socket z t -> String -> ZMQ z ()
- unbind :: Socket z t -> String -> ZMQ z ()
- connect :: Socket z t -> String -> ZMQ z ()
- disconnect :: Socket z t -> String -> ZMQ z ()
- send :: Sender t => Socket z t -> [Flag] -> ByteString -> ZMQ z ()
- send' :: Sender t => Socket z t -> [Flag] -> ByteString -> ZMQ z ()
- sendMulti :: Sender t => Socket z t -> NonEmpty ByteString -> ZMQ z ()
- receive :: Receiver t => Socket z t -> ZMQ z ByteString
- receiveMulti :: Receiver t => Socket z t -> ZMQ z [ByteString]
- subscribe :: Subscriber t => Socket z t -> ByteString -> ZMQ z ()
- unsubscribe :: Subscriber t => Socket z t -> ByteString -> ZMQ z ()
- proxy :: Socket z a -> Socket z b -> Maybe (Socket z c) -> ZMQ z ()
- monitor :: [EventType] -> Socket z t -> ZMQ z (Bool -> IO (Maybe EventMsg))
- socketMonitor :: [EventType] -> String -> Socket z t -> ZMQ z ()
- poll :: (SocketLike s, MonadIO m) => Timeout -> [Poll s m] -> m [[Event]]
- affinity :: Socket z t -> ZMQ z Word64
- backlog :: Socket z t -> ZMQ z Int
- conflate :: Conflatable t => Socket z t -> ZMQ z Bool
- curvePublicKey :: KeyFormat f -> Socket z t -> ZMQ z ByteString
- curveSecretKey :: KeyFormat f -> Socket z t -> ZMQ z ByteString
- curveServerKey :: KeyFormat f -> Socket z t -> ZMQ z ByteString
- delayAttachOnConnect :: Socket z t -> ZMQ z Bool
- events :: Socket z t -> ZMQ z [Event]
- fileDescriptor :: Socket z t -> ZMQ z Fd
- identity :: Socket z t -> ZMQ z ByteString
- immediate :: Socket z t -> ZMQ z Bool
- ipv4Only :: Socket z t -> ZMQ z Bool
- ipv6 :: Socket z t -> ZMQ z Bool
- lastEndpoint :: Socket z t -> ZMQ z String
- linger :: Socket z t -> ZMQ z Int
- maxMessageSize :: Socket z t -> ZMQ z Int64
- mcastHops :: Socket z t -> ZMQ z Int
- mechanism :: Socket z t -> ZMQ z SecurityMechanism
- moreToReceive :: Socket z t -> ZMQ z Bool
- plainServer :: Socket z t -> ZMQ z Bool
- plainPassword :: Socket z t -> ZMQ z ByteString
- plainUserName :: Socket z t -> ZMQ z ByteString
- rate :: Socket z t -> ZMQ z Int
- receiveBuffer :: Socket z t -> ZMQ z Int
- receiveHighWM :: Socket z t -> ZMQ z Int
- receiveTimeout :: Socket z t -> ZMQ z Int
- reconnectInterval :: Socket z t -> ZMQ z Int
- reconnectIntervalMax :: Socket z t -> ZMQ z Int
- recoveryInterval :: Socket z t -> ZMQ z Int
- sendBuffer :: Socket z t -> ZMQ z Int
- sendHighWM :: Socket z t -> ZMQ z Int
- sendTimeout :: Socket z t -> ZMQ z Int
- tcpKeepAlive :: Socket z t -> ZMQ z Switch
- tcpKeepAliveCount :: Socket z t -> ZMQ z Int
- tcpKeepAliveIdle :: Socket z t -> ZMQ z Int
- tcpKeepAliveInterval :: Socket z t -> ZMQ z Int
- zapDomain :: Socket z t -> ZMQ z ByteString
- setAffinity :: Word64 -> Socket z t -> ZMQ z ()
- setBacklog :: Integral i => Restricted (N0, Int32) i -> Socket z t -> ZMQ z ()
- setConflate :: Conflatable t => Bool -> Socket z t -> ZMQ z ()
- setCurveServer :: Bool -> Socket z t -> ZMQ z ()
- setCurvePublicKey :: KeyFormat f -> Restricted f ByteString -> Socket z t -> ZMQ z ()
- setCurveSecretKey :: KeyFormat f -> Restricted f ByteString -> Socket z t -> ZMQ z ()
- setCurveServerKey :: KeyFormat f -> Restricted f ByteString -> Socket z t -> ZMQ z ()
- setDelayAttachOnConnect :: Bool -> Socket z t -> ZMQ z ()
- setIdentity :: Restricted (N1, N254) ByteString -> Socket z t -> ZMQ z ()
- setImmediate :: Bool -> Socket z t -> ZMQ z ()
- setIpv4Only :: Bool -> Socket z t -> ZMQ z ()
- setIpv6 :: Bool -> Socket z t -> ZMQ z ()
- setLinger :: Integral i => Restricted (Nneg1, Int32) i -> Socket z t -> ZMQ z ()
- setMaxMessageSize :: Integral i => Restricted (Nneg1, Int64) i -> Socket z t -> ZMQ z ()
- setMcastHops :: Integral i => Restricted (N1, Int32) i -> Socket z t -> ZMQ z ()
- setPlainServer :: Bool -> Socket z t -> ZMQ z ()
- setPlainPassword :: Restricted (N1, N254) ByteString -> Socket z t -> ZMQ z ()
- setPlainUserName :: Restricted (N1, N254) ByteString -> Socket z t -> ZMQ z ()
- setProbeRouter :: SendProbe t => Bool -> Socket z t -> ZMQ z ()
- setRate :: Integral i => Restricted (N1, Int32) i -> Socket z t -> ZMQ z ()
- setReceiveBuffer :: Integral i => Restricted (N0, Int32) i -> Socket z t -> ZMQ z ()
- setReceiveHighWM :: Integral i => Restricted (N0, Int32) i -> Socket z t -> ZMQ z ()
- setReceiveTimeout :: Integral i => Restricted (Nneg1, Int32) i -> Socket z t -> ZMQ z ()
- setReconnectInterval :: Integral i => Restricted (N0, Int32) i -> Socket z t -> ZMQ z ()
- setReconnectIntervalMax :: Integral i => Restricted (N0, Int32) i -> Socket z t -> ZMQ z ()
- setRecoveryInterval :: Integral i => Restricted (N0, Int32) i -> Socket z t -> ZMQ z ()
- setReqCorrelate :: Bool -> Socket z Req -> ZMQ z ()
- setReqRelaxed :: Bool -> Socket z Req -> ZMQ z ()
- setRouterMandatory :: Bool -> Socket z Router -> ZMQ z ()
- setSendBuffer :: Integral i => Restricted (N0, Int32) i -> Socket z t -> ZMQ z ()
- setSendHighWM :: Integral i => Restricted (N0, Int32) i -> Socket z t -> ZMQ z ()
- setSendTimeout :: Integral i => Restricted (Nneg1, Int32) i -> Socket z t -> ZMQ z ()
- setTcpAcceptFilter :: Maybe ByteString -> Socket z t -> ZMQ z ()
- setTcpKeepAlive :: Switch -> Socket z t -> ZMQ z ()
- setTcpKeepAliveCount :: Integral i => Restricted (Nneg1, Int32) i -> Socket z t -> ZMQ z ()
- setTcpKeepAliveIdle :: Integral i => Restricted (Nneg1, Int32) i -> Socket z t -> ZMQ z ()
- setTcpKeepAliveInterval :: Integral i => Restricted (Nneg1, Int32) i -> Socket z t -> ZMQ z ()
- setXPubVerbose :: Bool -> Socket z XPub -> ZMQ z ()
- setZapDomain :: Restricted (N1, N254) ByteString -> Socket z t -> ZMQ z ()
- data ZMQError
- errno :: ZMQError -> Int
- source :: ZMQError -> String
- message :: ZMQError -> String
- liftIO :: MonadIO m => IO a -> m a
- restrict :: Restriction r v => v -> Restricted r v
- toRestricted :: Restriction r v => v -> Maybe (Restricted r v)
- waitRead :: Socket z t -> ZMQ z ()
- waitWrite :: Socket z t -> ZMQ z ()
- z85Encode :: MonadIO m => Restricted Div4 ByteString -> m ByteString
- z85Decode :: MonadIO m => Restricted Div5 ByteString -> m ByteString
- curveKeyPair :: MonadIO m => m (Restricted Div5 ByteString, Restricted Div5 ByteString)
Type Definitions
The ZMQ monad is modeled after ST and encapsulates
a Context. It uses the uninstantiated type variable z to
distinguish different invoctions of runZMQ and to prevent
unintented use of Sockets outside their scope. Cf. the paper
of John Launchbury and Simon Peyton Jones Lazy Functional State Threads.
Instances
| MonadBase IO (ZMQ z) Source # | |
Defined in System.ZMQ4.Monadic | |
| MonadBaseControl IO (ZMQ z) Source # | |
| Monad (ZMQ z) Source # | |
| Functor (ZMQ z) Source # | |
| Applicative (ZMQ z) Source # | |
| MonadThrow (ZMQ z) Source # | |
| MonadCatch (ZMQ z) Source # | |
| MonadMask (ZMQ z) Source # | |
| MonadIO (ZMQ z) Source # | |
Defined in System.ZMQ4.Monadic | |
| type StM (ZMQ z) a Source # | |
Defined in System.ZMQ4.Monadic | |
The ZMQ socket, parameterised by SocketType and belonging to
a particular ZMQ thread.
Instances
| SocketLike (Socket z) Source # | |
Flags to apply on send operations (cf. man zmq_send)
Socket events.
Constructors
| In |
|
| Out |
|
| Err | ZMQ_POLLERR |
Event types to monitor.
Constructors
| ConnectedEvent | |
| ConnectDelayedEvent | |
| ConnectRetriedEvent | |
| ListeningEvent | |
| BindFailedEvent | |
| AcceptedEvent | |
| AcceptFailedEvent | |
| ClosedEvent | |
| CloseFailedEvent | |
| DisconnectedEvent | |
| MonitorStoppedEvent | |
| AllEvents |
Event Message to receive when monitoring socket events.
Constructors
| Connected !ByteString !Fd | |
| ConnectDelayed !ByteString | |
| ConnectRetried !ByteString !Int | |
| Listening !ByteString !Fd | |
| BindFailed !ByteString !Int | |
| Accepted !ByteString !Fd | |
| AcceptFailed !ByteString !Int | |
| Closed !ByteString !Fd | |
| CloseFailed !ByteString !Int | |
| Disconnected !ByteString !Fd | |
| MonitorStopped !ByteString !Int |
data KeyFormat a where Source #
Constructors
| BinaryFormat :: KeyFormat Div4 | |
| TextFormat :: KeyFormat Div5 |
data SecurityMechanism Source #
Instances
| Eq SecurityMechanism Source # | |
Defined in System.ZMQ4.Internal Methods (==) :: SecurityMechanism -> SecurityMechanism -> Bool (/=) :: SecurityMechanism -> SecurityMechanism -> Bool | |
| Show SecurityMechanism Source # | |
Defined in System.ZMQ4.Internal Methods showsPrec :: Int -> SecurityMechanism -> ShowS show :: SecurityMechanism -> String showList :: [SecurityMechanism] -> ShowS | |
Socket type-classes
class SocketType a Source #
Socket types.
Minimal complete definition
Instances
Sockets which can send.
Instances
| Sender Stream Source # | |
Defined in System.ZMQ4 | |
| Sender Push Source # | |
Defined in System.ZMQ4 | |
| Sender Router Source # | |
Defined in System.ZMQ4 | |
| Sender Dealer Source # | |
Defined in System.ZMQ4 | |
| Sender Rep Source # | |
Defined in System.ZMQ4 | |
| Sender Req Source # | |
Defined in System.ZMQ4 | |
| Sender XSub Source # | |
Defined in System.ZMQ4 | |
| Sender XPub Source # | |
Defined in System.ZMQ4 | |
| Sender Pub Source # | |
Defined in System.ZMQ4 | |
| Sender Pair Source # | |
Defined in System.ZMQ4 | |
Sockets which can receive.
Instances
| Receiver Stream Source # | |
Defined in System.ZMQ4 | |
| Receiver Pull Source # | |
Defined in System.ZMQ4 | |
| Receiver Router Source # | |
Defined in System.ZMQ4 | |
| Receiver Dealer Source # | |
Defined in System.ZMQ4 | |
| Receiver Rep Source # | |
Defined in System.ZMQ4 | |
| Receiver Req Source # | |
Defined in System.ZMQ4 | |
| Receiver XSub Source # | |
Defined in System.ZMQ4 | |
| Receiver XPub Source # | |
Defined in System.ZMQ4 | |
| Receiver Sub Source # | |
Defined in System.ZMQ4 | |
| Receiver Pair Source # | |
Defined in System.ZMQ4 | |
class Subscriber a Source #
Sockets which can subscribe.
Instances
| Subscriber Sub Source # | |
Defined in System.ZMQ4 | |
class SocketLike s Source #
Minimal complete definition
Instances
class Conflatable a Source #
Sockets which can be conflated.
Instances
| Conflatable Push Source # | |
Defined in System.ZMQ4 | |
| Conflatable Pull Source # | |
Defined in System.ZMQ4 | |
| Conflatable Dealer Source # | |
Defined in System.ZMQ4 | |
| Conflatable Sub Source # | |
Defined in System.ZMQ4 | |
| Conflatable Pub Source # | |
Defined in System.ZMQ4 | |
Sockets which can send probes (cf. setProbeRouter).
Instances
| SendProbe Router Source # | |
Defined in System.ZMQ4 | |
| SendProbe Dealer Source # | |
Defined in System.ZMQ4 | |
| SendProbe Req Source # | |
Defined in System.ZMQ4 | |
Socket Types
Constructors
| Pair |
Instances
| Eq Pair Source # | |
| Generic Pair Source # | |
| SocketType Pair Source # | |
Defined in System.ZMQ4 Methods zmqSocketType :: Pair -> ZMQSocketType Source # | |
| Receiver Pair Source # | |
Defined in System.ZMQ4 | |
| Sender Pair Source # | |
Defined in System.ZMQ4 | |
| type Rep Pair Source # | |
Defined in System.ZMQ4 type Rep Pair = D1 ('MetaData "Pair" "System.ZMQ4" "zeromq4-haskell-0.8.0-KcQK5i9bmOi131oc7FvqVW" 'False) (C1 ('MetaCons "Pair" 'PrefixI 'False) (U1 :: Type -> Type)) | |
Constructors
| Pub |
Instances
| Eq Pub Source # | |
| Generic Pub Source # | |
| SocketType Pub Source # | |
Defined in System.ZMQ4 Methods zmqSocketType :: Pub -> ZMQSocketType Source # | |
| Conflatable Pub Source # | |
Defined in System.ZMQ4 | |
| Sender Pub Source # | |
Defined in System.ZMQ4 | |
| type Rep Pub Source # | |
Defined in System.ZMQ4 type Rep Pub = D1 ('MetaData "Pub" "System.ZMQ4" "zeromq4-haskell-0.8.0-KcQK5i9bmOi131oc7FvqVW" 'False) (C1 ('MetaCons "Pub" 'PrefixI 'False) (U1 :: Type -> Type)) | |
Constructors
| Sub |
Instances
| Eq Sub Source # | |
| Generic Sub Source # | |
| SocketType Sub Source # | |
Defined in System.ZMQ4 Methods zmqSocketType :: Sub -> ZMQSocketType Source # | |
| Conflatable Sub Source # | |
Defined in System.ZMQ4 | |
| Receiver Sub Source # | |
Defined in System.ZMQ4 | |
| Subscriber Sub Source # | |
Defined in System.ZMQ4 | |
| type Rep Sub Source # | |
Defined in System.ZMQ4 type Rep Sub = D1 ('MetaData "Sub" "System.ZMQ4" "zeromq4-haskell-0.8.0-KcQK5i9bmOi131oc7FvqVW" 'False) (C1 ('MetaCons "Sub" 'PrefixI 'False) (U1 :: Type -> Type)) | |
Constructors
| XPub |
Instances
| Eq XPub Source # | |
| Generic XPub Source # | |
| SocketType XPub Source # | |
Defined in System.ZMQ4 Methods zmqSocketType :: XPub -> ZMQSocketType Source # | |
| Receiver XPub Source # | |
Defined in System.ZMQ4 | |
| Sender XPub Source # | |
Defined in System.ZMQ4 | |
| type Rep XPub Source # | |
Defined in System.ZMQ4 type Rep XPub = D1 ('MetaData "XPub" "System.ZMQ4" "zeromq4-haskell-0.8.0-KcQK5i9bmOi131oc7FvqVW" 'False) (C1 ('MetaCons "XPub" 'PrefixI 'False) (U1 :: Type -> Type)) | |
Constructors
| XSub |
Instances
| Eq XSub Source # | |
| Generic XSub Source # | |
| SocketType XSub Source # | |
Defined in System.ZMQ4 Methods zmqSocketType :: XSub -> ZMQSocketType Source # | |
| Receiver XSub Source # | |
Defined in System.ZMQ4 | |
| Sender XSub Source # | |
Defined in System.ZMQ4 | |
| type Rep XSub Source # | |
Defined in System.ZMQ4 type Rep XSub = D1 ('MetaData "XSub" "System.ZMQ4" "zeromq4-haskell-0.8.0-KcQK5i9bmOi131oc7FvqVW" 'False) (C1 ('MetaCons "XSub" 'PrefixI 'False) (U1 :: Type -> Type)) | |
Constructors
| Req |
Instances
| Eq Req Source # | |
| Generic Req Source # | |
| SocketType Req Source # | |
Defined in System.ZMQ4 Methods zmqSocketType :: Req -> ZMQSocketType Source # | |
| SendProbe Req Source # | |
Defined in System.ZMQ4 | |
| Receiver Req Source # | |
Defined in System.ZMQ4 | |
| Sender Req Source # | |
Defined in System.ZMQ4 | |
| type Rep Req Source # | |
Defined in System.ZMQ4 type Rep Req = D1 ('MetaData "Req" "System.ZMQ4" "zeromq4-haskell-0.8.0-KcQK5i9bmOi131oc7FvqVW" 'False) (C1 ('MetaCons "Req" 'PrefixI 'False) (U1 :: Type -> Type)) | |
Constructors
| Rep |
Instances
| Eq Rep Source # | |
| Generic Rep Source # | |
| SocketType Rep Source # | |
Defined in System.ZMQ4 Methods zmqSocketType :: Rep -> ZMQSocketType Source # | |
| Receiver Rep Source # | |
Defined in System.ZMQ4 | |
| Sender Rep Source # | |
Defined in System.ZMQ4 | |
| type Rep Rep Source # | |
Defined in System.ZMQ4 type Rep Rep = D1 ('MetaData "Rep" "System.ZMQ4" "zeromq4-haskell-0.8.0-KcQK5i9bmOi131oc7FvqVW" 'False) (C1 ('MetaCons "Rep" 'PrefixI 'False) (U1 :: Type -> Type)) | |
Constructors
| Dealer |
Instances
| Eq Dealer Source # | |
| Generic Dealer Source # | |
| SocketType Dealer Source # | |
Defined in System.ZMQ4 Methods zmqSocketType :: Dealer -> ZMQSocketType Source # | |
| SendProbe Dealer Source # | |
Defined in System.ZMQ4 | |
| Conflatable Dealer Source # | |
Defined in System.ZMQ4 | |
| Receiver Dealer Source # | |
Defined in System.ZMQ4 | |
| Sender Dealer Source # | |
Defined in System.ZMQ4 | |
| type Rep Dealer Source # | |
Defined in System.ZMQ4 type Rep Dealer = D1 ('MetaData "Dealer" "System.ZMQ4" "zeromq4-haskell-0.8.0-KcQK5i9bmOi131oc7FvqVW" 'False) (C1 ('MetaCons "Dealer" 'PrefixI 'False) (U1 :: Type -> Type)) | |
Constructors
| Router |
Instances
| Eq Router Source # | |
| Generic Router Source # | |
| SocketType Router Source # | |
Defined in System.ZMQ4 Methods zmqSocketType :: Router -> ZMQSocketType Source # | |
| SendProbe Router Source # | |
Defined in System.ZMQ4 | |
| Receiver Router Source # | |
Defined in System.ZMQ4 | |
| Sender Router Source # | |
Defined in System.ZMQ4 | |
| type Rep Router Source # | |
Defined in System.ZMQ4 type Rep Router = D1 ('MetaData "Router" "System.ZMQ4" "zeromq4-haskell-0.8.0-KcQK5i9bmOi131oc7FvqVW" 'False) (C1 ('MetaCons "Router" 'PrefixI 'False) (U1 :: Type -> Type)) | |
Constructors
| Pull |
Instances
| Eq Pull Source # | |
| Generic Pull Source # | |
| SocketType Pull Source # | |
Defined in System.ZMQ4 Methods zmqSocketType :: Pull -> ZMQSocketType Source # | |
| Conflatable Pull Source # | |
Defined in System.ZMQ4 | |
| Receiver Pull Source # | |
Defined in System.ZMQ4 | |
| type Rep Pull Source # | |
Defined in System.ZMQ4 type Rep Pull = D1 ('MetaData "Pull" "System.ZMQ4" "zeromq4-haskell-0.8.0-KcQK5i9bmOi131oc7FvqVW" 'False) (C1 ('MetaCons "Pull" 'PrefixI 'False) (U1 :: Type -> Type)) | |
Constructors
| Push |
Instances
| Eq Push Source # | |
| Generic Push Source # | |
| SocketType Push Source # | |
Defined in System.ZMQ4 Methods zmqSocketType :: Push -> ZMQSocketType Source # | |
| Conflatable Push Source # | |
Defined in System.ZMQ4 | |
| Sender Push Source # | |
Defined in System.ZMQ4 | |
| type Rep Push Source # | |
Defined in System.ZMQ4 type Rep Push = D1 ('MetaData "Push" "System.ZMQ4" "zeromq4-haskell-0.8.0-KcQK5i9bmOi131oc7FvqVW" 'False) (C1 ('MetaCons "Push" 'PrefixI 'False) (U1 :: Type -> Type)) | |
Constructors
| Stream |
Instances
| Eq Stream Source # | |
| Generic Stream Source # | |
| SocketType Stream Source # | |
Defined in System.ZMQ4 Methods zmqSocketType :: Stream -> ZMQSocketType Source # | |
| Receiver Stream Source # | |
Defined in System.ZMQ4 | |
| Sender Stream Source # | |
Defined in System.ZMQ4 | |
| type Rep Stream Source # | |
Defined in System.ZMQ4 type Rep Stream = D1 ('MetaData "Stream" "System.ZMQ4" "zeromq4-haskell-0.8.0-KcQK5i9bmOi131oc7FvqVW" 'False) (C1 ('MetaCons "Stream" 'PrefixI 'False) (U1 :: Type -> Type)) | |
General Operations
async :: ZMQ z a -> ZMQ z (Async a) Source #
Run the given ZMQ computation asynchronously, i.e. this function
runs the computation in a new thread using async.
N.B. reference counting is used to prolong the lifetime of the
Context encapsulated in ZMQ as necessary, e.g.:
runZMQ $ do
s <- socket Pair
async $ do
liftIO (threadDelay 10000000)
identity s >>= liftIO . print
Here, runZMQ will finish before the code section in async, but due to
reference counting, the Context will only be disposed after
async finishes as well.
ZMQ Options (Read)
maxSockets :: ZMQ z Word Source #
ZMQ Options (Write)
setIoThreads :: Word -> ZMQ z () Source #
setMaxSockets :: Word -> ZMQ z () Source #
Socket operations
disconnect :: Socket z t -> String -> ZMQ z () Source #
unsubscribe :: Subscriber t => Socket z t -> ByteString -> ZMQ z () Source #
Socket Options (Read)
delayAttachOnConnect :: Socket z t -> ZMQ z Bool Source #
Deprecated: Use immediate
fileDescriptor :: Socket z t -> ZMQ z Fd Source #
lastEndpoint :: Socket z t -> ZMQ z String Source #
maxMessageSize :: Socket z t -> ZMQ z Int64 Source #
moreToReceive :: Socket z t -> ZMQ z Bool Source #
plainServer :: Socket z t -> ZMQ z Bool Source #
plainPassword :: Socket z t -> ZMQ z ByteString Source #
plainUserName :: Socket z t -> ZMQ z ByteString Source #
receiveBuffer :: Socket z t -> ZMQ z Int Source #
receiveHighWM :: Socket z t -> ZMQ z Int Source #
receiveTimeout :: Socket z t -> ZMQ z Int Source #
reconnectInterval :: Socket z t -> ZMQ z Int Source #
reconnectIntervalMax :: Socket z t -> ZMQ z Int Source #
recoveryInterval :: Socket z t -> ZMQ z Int Source #
sendBuffer :: Socket z t -> ZMQ z Int Source #
sendHighWM :: Socket z t -> ZMQ z Int Source #
sendTimeout :: Socket z t -> ZMQ z Int Source #
tcpKeepAliveCount :: Socket z t -> ZMQ z Int Source #
tcpKeepAliveIdle :: Socket z t -> ZMQ z Int Source #
tcpKeepAliveInterval :: Socket z t -> ZMQ z Int Source #
Socket Options (Write)
setAffinity :: Word64 -> Socket z t -> ZMQ z () Source #
setBacklog :: Integral i => Restricted (N0, Int32) i -> Socket z t -> ZMQ z () Source #
setConflate :: Conflatable t => Bool -> Socket z t -> ZMQ z () Source #
setCurveServer :: Bool -> Socket z t -> ZMQ z () Source #
setCurvePublicKey :: KeyFormat f -> Restricted f ByteString -> Socket z t -> ZMQ z () Source #
setCurveSecretKey :: KeyFormat f -> Restricted f ByteString -> Socket z t -> ZMQ z () Source #
setCurveServerKey :: KeyFormat f -> Restricted f ByteString -> Socket z t -> ZMQ z () Source #
setDelayAttachOnConnect :: Bool -> Socket z t -> ZMQ z () Source #
Deprecated: Use setImmediate
setIdentity :: Restricted (N1, N254) ByteString -> Socket z t -> ZMQ z () Source #
setImmediate :: Bool -> Socket z t -> ZMQ z () Source #
setIpv4Only :: Bool -> Socket z t -> ZMQ z () Source #
Deprecated: Use setIpv6
setMaxMessageSize :: Integral i => Restricted (Nneg1, Int64) i -> Socket z t -> ZMQ z () Source #
setMcastHops :: Integral i => Restricted (N1, Int32) i -> Socket z t -> ZMQ z () Source #
setPlainServer :: Bool -> Socket z t -> ZMQ z () Source #
setPlainPassword :: Restricted (N1, N254) ByteString -> Socket z t -> ZMQ z () Source #
setPlainUserName :: Restricted (N1, N254) ByteString -> Socket z t -> ZMQ z () Source #
setReceiveBuffer :: Integral i => Restricted (N0, Int32) i -> Socket z t -> ZMQ z () Source #
setReceiveHighWM :: Integral i => Restricted (N0, Int32) i -> Socket z t -> ZMQ z () Source #
setReceiveTimeout :: Integral i => Restricted (Nneg1, Int32) i -> Socket z t -> ZMQ z () Source #
setReconnectInterval :: Integral i => Restricted (N0, Int32) i -> Socket z t -> ZMQ z () Source #
setReconnectIntervalMax :: Integral i => Restricted (N0, Int32) i -> Socket z t -> ZMQ z () Source #
setRecoveryInterval :: Integral i => Restricted (N0, Int32) i -> Socket z t -> ZMQ z () Source #
setSendBuffer :: Integral i => Restricted (N0, Int32) i -> Socket z t -> ZMQ z () Source #
setSendHighWM :: Integral i => Restricted (N0, Int32) i -> Socket z t -> ZMQ z () Source #
setSendTimeout :: Integral i => Restricted (Nneg1, Int32) i -> Socket z t -> ZMQ z () Source #
setTcpAcceptFilter :: Maybe ByteString -> Socket z t -> ZMQ z () Source #
setTcpKeepAliveCount :: Integral i => Restricted (Nneg1, Int32) i -> Socket z t -> ZMQ z () Source #
setTcpKeepAliveIdle :: Integral i => Restricted (Nneg1, Int32) i -> Socket z t -> ZMQ z () Source #
setTcpKeepAliveInterval :: Integral i => Restricted (Nneg1, Int32) i -> Socket z t -> ZMQ z () Source #
setZapDomain :: Restricted (N1, N254) ByteString -> Socket z t -> ZMQ z () Source #
Error Handling
ZMQError encapsulates information about errors, which occur when using the native 0MQ API, such as error number and message.
Instances
| Eq ZMQError Source # | |
| Ord ZMQError Source # | |
Defined in System.ZMQ4.Internal.Error | |
| Show ZMQError Source # | |
| Exception ZMQError Source # | |
Defined in System.ZMQ4.Internal.Error Methods toException :: ZMQError -> SomeException # fromException :: SomeException -> Maybe ZMQError # displayException :: ZMQError -> String # | |
Re-exports
restrict :: Restriction r v => v -> Restricted r v Source #
Create a restricted value. If the given value does not satisfy the restrictions, a modified variant is used instead, e.g. if an integer is larger than the upper bound, the upper bound value is used.
toRestricted :: Restriction r v => v -> Maybe (Restricted r v) Source #
Create a restricted value. Returns Nothing if
the given value does not satisfy all restrictions.
Low-level Functions
z85Encode :: MonadIO m => Restricted Div4 ByteString -> m ByteString Source #
z85Decode :: MonadIO m => Restricted Div5 ByteString -> m ByteString Source #
curveKeyPair :: MonadIO m => m (Restricted Div5 ByteString, Restricted Div5 ByteString) Source #
Generate a new curve key pair. (cf. zmq_curve_keypair)