Copyright | (C) 2014 EURL Tweag |
---|---|
Safe Haskell | None |
Language | Haskell2010 |
- data ZMQParameters = ZMQParameters {
- zmqHighWaterMark :: Word64
- zmqSecurityMechanism :: Maybe SecurityMechanism
- data SecurityMechanism = SecurityPlain {
- plainPassword :: ByteString
- plainUsername :: ByteString
- defaultZMQParameters :: ZMQParameters
- data TransportInternals = TransportInternals {
- transportAddress :: !TransportAddress
- transportState :: !(MVar TransportState)
- transportParameters :: !ZMQParameters
- data TransportState
- mkTransportState :: Context -> Maybe (Async ()) -> IO TransportState
- data ValidTransportState
- transportContext :: Accessor ValidTransportState Context
- transportEndPoints :: Accessor ValidTransportState (Map EndPointAddress LocalEndPoint)
- transportEndPointAt :: EndPointAddress -> Accessor ValidTransportState (Maybe LocalEndPoint)
- transportAuth :: Accessor ValidTransportState (Maybe (Async ()))
- transportSockets :: Accessor ValidTransportState (IORef (IntMap (IO ())))
- data RemoteEndPoint = RemoteEndPoint {
- remoteEndPointAddress :: !EndPointAddress
- remoteEndPointState :: !(MVar RemoteEndPointState)
- remoteEndPointOpened :: !(IORef Bool)
- data RemoteEndPointState
- data ValidRemoteEndPoint = ValidRemoteEndPoint {
- remoteEndPointSocket :: !(Socket Push)
- _remoteEndPointPendingConnections :: !(Counter ConnectionId ZMQConnection)
- _remoteEndPointIncommingConnections :: !(Set ConnectionId)
- _remoteEndPointOutgoingCount :: !Int
- data ClosingRemoteEndPoint = ClosingRemoteEndPoint {
- _remoteEndPointClosingSocket :: !(Socket Push)
- _remoteEndPointDone :: !(MVar ())
- remoteEndPointPendingConnections :: Accessor ValidRemoteEndPoint (Counter ConnectionId ZMQConnection)
- data LocalEndPoint = LocalEndPoint {
- localEndPointAddress :: !EndPointAddress
- localEndPointState :: !(MVar LocalEndPointState)
- localEndPointPort :: !Int
- data LocalEndPointState
- data ValidLocalEndPoint = ValidLocalEndPoint {
- localEndPointChan :: !(TMChan Event)
- _localEndPointConnections :: !(Counter ConnectionId ZMQConnection)
- _localEndPointRemotes :: !(Map EndPointAddress RemoteEndPoint)
- localEndPointThread :: !(Async ())
- localEndPointOpened :: !(IORef Bool)
- _localEndPointMulticastGroups :: !(Map MulticastAddress ZMQMulticastGroup)
- localEndPointConnections :: Accessor ValidLocalEndPoint (Counter ConnectionId ZMQConnection)
- localEndPointConnectionAt :: ConnectionId -> Accessor ValidLocalEndPoint (Maybe ZMQConnection)
- localEndPointRemotes :: Accessor ValidLocalEndPoint (Map EndPointAddress RemoteEndPoint)
- localEndPointRemoteAt :: EndPointAddress -> Accessor ValidLocalEndPoint (Maybe RemoteEndPoint)
- localEndPointMulticastGroups :: Accessor ValidLocalEndPoint (Map MulticastAddress ZMQMulticastGroup)
- data ZMQConnection = ZMQConnection {
- connectionLocalEndPoint :: !LocalEndPoint
- connectionRemoteEndPoint :: !RemoteEndPoint
- connectionReliability :: !Reliability
- connectionState :: !(MVar ZMQConnectionState)
- connectionReady :: !(MVar ())
- data ZMQConnectionState
- data ValidZMQConnection = ValidZMQConnection {
- _connectionSocket :: !(Maybe (Socket Push))
- _connectionId :: !Word64
- data ZMQMulticastGroup = ZMQMulticastGroup {
- multicastGroupState :: MVar MulticastGroupState
- multicastGroupClose :: IO ()
- data MulticastGroupState
- data ValidMulticastGroup = ValidMulticastGroup {
- _multicastGroupSubscribed :: IORef Bool
- data Hints = Hints {
- hintsPort :: Maybe Int
- hintsControlPort :: Maybe Int
- defaultHints :: Hints
- data Counter a b = Counter {
- _counterNext :: !a
- _counterValue :: !(Map a b)
- counterNextId :: Accessor (Counter a b) a
- counterValues :: Accessor (Counter a b) (Map a b)
- counterValueAt :: Ord a => a -> Accessor (Counter a b) (Maybe b)
- nextElement :: (Enum a, Ord a) => (b -> IO Bool) -> b -> Counter a b -> IO (Counter a b, (a, b))
- nextElement' :: (Enum a, Ord a) => (b -> IO Bool) -> (a -> b) -> Counter a b -> IO (Counter a b, (a, b))
- nextElementM :: (Enum a, Ord a) => (b -> IO Bool) -> (a -> IO b) -> Counter a b -> IO (Counter a b, (a, b))
- nextElementM' :: (Enum a, Ord a) => (b -> IO Bool) -> (a -> IO (b, c)) -> Counter a b -> IO (Counter a b, (a, c))
Documentation
data ZMQParameters
Parameters for ZeroMQ connection.
ZMQParameters | |
|
data SecurityMechanism
A ZeroMQ "security mechanism".
SecurityPlain | Clear-text authentication, using a (username, password) pair. |
|
Internal types
data TransportInternals
Transport data type.
TransportInternals | |
|
data TransportState
Transport state.
TransportValid !ValidTransportState | Transport is in active state. |
TransportClosed | Transport is closed. |
mkTransportState :: Context -> Maybe (Async ()) -> IO TransportState
ValidTransportState
data ValidTransportState
Transport state.
transportContext :: Accessor ValidTransportState Context
transportEndPoints :: Accessor ValidTransportState (Map EndPointAddress LocalEndPoint)
transportEndPointAt :: EndPointAddress -> Accessor ValidTransportState (Maybe LocalEndPoint)
transportAuth :: Accessor ValidTransportState (Maybe (Async ()))
transportSockets :: Accessor ValidTransportState (IORef (IntMap (IO ())))
RemoteEndPoint
data RemoteEndPoint
RemoteEndPoint | |
|
data RemoteEndPointState
data ValidRemoteEndPoint
ValidRemoteEndPoint | |
|
ClosingRemoteEndPoint | |
|
remoteEndPointPendingConnections :: Accessor ValidRemoteEndPoint (Counter ConnectionId ZMQConnection)
LocalEndPoint
data LocalEndPoint
LocalEndPoint | |
|
data ValidLocalEndPoint
ValidLocalEndPoint | |
|
localEndPointConnections :: Accessor ValidLocalEndPoint (Counter ConnectionId ZMQConnection)
localEndPointConnectionAt :: ConnectionId -> Accessor ValidLocalEndPoint (Maybe ZMQConnection)
localEndPointRemotes :: Accessor ValidLocalEndPoint (Map EndPointAddress RemoteEndPoint)
localEndPointRemoteAt :: EndPointAddress -> Accessor ValidLocalEndPoint (Maybe RemoteEndPoint)
localEndPointMulticastGroups :: Accessor ValidLocalEndPoint (Map MulticastAddress ZMQMulticastGroup)
ZeroMQ connection
data ZMQConnection
ZMQConnection | |
|
data ZMQConnectionState
data ValidZMQConnection
ValidZMQConnection | |
|
ZeroMQ multicast
data ZMQMulticastGroup
ZMQMulticastGroup | |
|
data ValidMulticastGroup
ValidMulticastGroup | |
|
ZeroMQ specific types
data Hints
A list of Hints provided for connection
Hints | |
|
Internal data structures
data Counter a b
Counter | |
|
counterNextId :: Accessor (Counter a b) a
counterValues :: Accessor (Counter a b) (Map a b)
counterValueAt :: Ord a => a -> Accessor (Counter a b) (Maybe b)
nextElement :: (Enum a, Ord a) => (b -> IO Bool) -> b -> Counter a b -> IO (Counter a b, (a, b))
nextElement' :: (Enum a, Ord a) => (b -> IO Bool) -> (a -> b) -> Counter a b -> IO (Counter a b, (a, b))
nextElementM :: (Enum a, Ord a) => (b -> IO Bool) -> (a -> IO b) -> Counter a b -> IO (Counter a b, (a, b))
nextElementM' :: (Enum a, Ord a) => (b -> IO Bool) -> (a -> IO (b, c)) -> Counter a b -> IO (Counter a b, (a, c))