Copyright | (c) Lars Petersen 2016 |
---|---|
License | MIT |
Maintainer | info@lars-petersen.net |
Stability | experimental |
Safe Haskell | None |
Language | Haskell2010 |
- data Message = Message {}
- data Topic
- topicLevels :: Topic -> NonEmpty Level
- topicLength :: Topic -> Int
- topicParser :: Parser Topic
- topicBuilder :: Topic -> Builder
- data Filter
- filterLevels :: Filter -> NonEmpty Level
- filterLength :: Filter -> Int
- filterParser :: Parser Filter
- filterBuilder :: Filter -> Builder
- data Level
- levelParser :: Parser Level
- multiLevelWildcard :: Level
- singleLevelWildcard :: Level
- startsWithDollar :: Level -> Bool
- data QoS
- newtype Retain = Retain Bool
- newtype Payload = Payload ByteString
- data ClientPacket
- = ClientConnect { }
- | ClientConnectUnsupported
- | ClientPublish !PacketIdentifier !Duplicate !Message
- | ClientPublishAcknowledged !PacketIdentifier
- | ClientPublishReceived !PacketIdentifier
- | ClientPublishRelease !PacketIdentifier
- | ClientPublishComplete !PacketIdentifier
- | ClientSubscribe !PacketIdentifier ![(Filter, QoS)]
- | ClientUnsubscribe !PacketIdentifier ![Filter]
- | ClientPingRequest
- | ClientDisconnect
- clientPacketBuilder :: ClientPacket -> Builder
- clientPacketParser :: Get ClientPacket
- data ServerPacket
- = ServerConnectionAccepted !SessionPresent
- | ServerConnectionRejected !RejectReason
- | ServerPublish !PacketIdentifier !Duplicate !Message
- | ServerPublishAcknowledged !PacketIdentifier
- | ServerPublishReceived !PacketIdentifier
- | ServerPublishRelease !PacketIdentifier
- | ServerPublishComplete !PacketIdentifier
- | ServerSubscribeAcknowledged !PacketIdentifier ![Maybe QoS]
- | ServerUnsubscribeAcknowledged !PacketIdentifier
- | ServerPingResponse
- serverPacketBuilder :: ServerPacket -> Builder
- serverPacketParser :: Get ServerPacket
- newtype PacketIdentifier = PacketIdentifier Int
- newtype ClientIdentifier = ClientIdentifier Text
- newtype Username = Username Text
- newtype Password = Password ByteString
- newtype CleanSession = CleanSession Bool
- newtype SessionPresent = SessionPresent Bool
- data RejectReason
- newtype Duplicate = Duplicate Bool
- newtype KeepAliveInterval = KeepAliveInterval Word16
- lengthParser :: Get Int
- lengthBuilder :: Int -> Builder
- utf8Parser :: Get Text
- utf8Builder :: Text -> (Builder, Int)
Message
Topic
According to the MQTT specification a topic
- must not be empty
- must not contain
+
,#
or\NUL
characters
topicLength :: Topic -> Int Source #
topicBuilder :: Topic -> Builder Source #
Filter
According to the MQTT specification a filter
- must not be empty
- must not contain a
\NUL
character
filterLength :: Filter -> Int Source #
filterBuilder :: Filter -> Builder Source #
Level
multiLevelWildcard :: Level Source #
The #
path element. It must only appear at the end of a Filter
.
singleLevelWildcard :: Level Source #
The +
path element. It may appear anywhere within a Filter
.
QoS
The quality of service defines the guarantees given wrt to message reception.
Retain
Payload
Packet
ClientPacket
data ClientPacket Source #
ServerPacket
data ServerPacket Source #
PacketIdentifier
newtype PacketIdentifier Source #
ClientIdentifier
newtype ClientIdentifier Source #
Username
Password
CleanSession
newtype CleanSession Source #
SessionPresent
newtype SessionPresent Source #
RejectReason
data RejectReason Source #
Duplicate
KeepAliveInterval
newtype KeepAliveInterval Source #
Other (internal) exports
lengthParser :: Get Int Source #
lengthBuilder :: Int -> Builder Source #
utf8Parser :: Get Text Source #