LavinMQ::MQTT
Constants
EXCHANGE = "mqtt.default"
MAX_TOPIC_BYTESIZE = UInt8::MAX
Topics become routing keys and topic filters binding keys, both stored as AMQP short strings, so longer ones can't be written to a queue. MQTT itself allows topics up to 65535 bytes.
QOS0_ARGUMENTS = AMQP::Table.new({QOS_HEADER => 0_u8})
QOS1_ARGUMENTS = AMQP::Table.new({QOS_HEADER => 1_u8})
QOS_HEADER = "mqtt.qos"
RETAIN_HEADER = "mqtt.retain"
RETAIN_HEADERS = AMQP::Table.new({RETAIN_HEADER => true})
SESSION_PREFIX = "mqtt."
Class methods
The QoS carried in binding arguments, the inverse of qos_arguments.
Any integer type is accepted: bindings made over the HTTP API or imported
from a definitions file don't go through the MQTT protocol parser, so the
header isn't necessarily a UInt8. The value is granted as the closest
supported QoS, never higher than what we can deliver: QoS 2 as QoS 1
[MQTT-3.9.3-1], a missing, negative or non-integer value as QoS 0.
Nested types
- LavinMQ::MQTT::Broker
- LavinMQ::MQTT::BytesTokenIterator
- LavinMQ::MQTT::Client
- LavinMQ::MQTT::ClientIdRuleSegment
- LavinMQ::MQTT::ClientIdValidation
- LavinMQ::MQTT::ConnectionFactory
- LavinMQ::MQTT::Error
- LavinMQ::MQTT::Exchange
- LavinMQ::MQTT::HashRuleSegment
- LavinMQ::MQTT::PermissionGroup
- LavinMQ::MQTT::PermissionService
- LavinMQ::MQTT::PlusRuleSegment
- LavinMQ::MQTT::Protocol
- LavinMQ::MQTT::ProtocolVersion
- LavinMQ::MQTT::PublishContext
- LavinMQ::MQTT::RetainStore
- LavinMQ::MQTT::Server
- LavinMQ::MQTT::Session
- LavinMQ::MQTT::SessionMessageStore
- LavinMQ::MQTT::Sessions
- LavinMQ::MQTT::StringRuleSegment
- LavinMQ::MQTT::StringTokenIterator
- LavinMQ::MQTT::Subscriber
- LavinMQ::MQTT::SubscriptionDetails
- LavinMQ::MQTT::SubscriptionKey
- LavinMQ::MQTT::SubscriptionTree(T)
- LavinMQ::MQTT::TopicFilter
- LavinMQ::MQTT::TopicRuleSegment
- LavinMQ::MQTT::TopicTooLong
- LavinMQ::MQTT::TopicTree(TEntity)