Safe Haskell | None |
---|---|
Language | Haskell2010 |
EIBd.Client.Connection
- data Connection
- connectRemote :: ByteString -> Word16 -> IO Connection
- connectLocal :: ByteString -> IO Connection
- defaultPort :: Word16
- data Message = Message {}
- data APCI
- recvMessage :: Connection -> IO Message
- sendMessage :: Connection -> GroupAddress -> Word8 -> APCI -> ByteString -> IO Bool
- sendMessage' :: Connection -> Message -> IO Bool
- data GroupMessage
- recvGroupMessage :: Connection -> IO (IndividualAddress, GroupAddress, GroupMessage)
- sendGroupMessage :: Connection -> GroupAddress -> GroupMessage -> IO Bool
Connection
data Connection Source
It is possible to connect to a local EIBd server instance via unix socket or remotely via a TCP socket.
connection <- connectLocal "/tmp/eib"
or
connection <- connectRemote "eibd.address.here" 6720
Instances
connectRemote :: ByteString -> Word16 -> IO Connection Source
Connect to an EIBd server via a TCP Socket.
connectLocal :: ByteString -> IO Connection Source
Connect to an EIBd server via a Unix Socket.
Default EIBd port
Messaging
Message (very closely related to a CEMI frame)
Constructors
Message | |
Fields |
Application Protocol Control Information determines the kind of a message.
recvMessage :: Connection -> IO Message Source
Fetch a message from the EIBd instance.
sendMessage :: Connection -> GroupAddress -> Word8 -> APCI -> ByteString -> IO Bool Source
Send a message to the EIBd instance.
sendMessage' :: Connection -> Message -> IO Bool Source
Alternative to "sendMessage".
Group Messaging
data GroupMessage Source
A special kind of message targeting only communication groups.
Constructors
GroupRead | |
GroupResponse ByteString | |
GroupWrite ByteString |
Instances
recvGroupMessage :: Connection -> IO (IndividualAddress, GroupAddress, GroupMessage) Source
Receive a group message.
sendGroupMessage :: Connection -> GroupAddress -> GroupMessage -> IO Bool Source
Send a group message.