Configure Non-Standard MQTT Options VerneMQ Supports.
Set the maximum size for client ids, MQTT v3.1 specifies a limit of 23 characters.
This option default to 23
.
Usually, you'll configure permissions on your topic structures using ACLs. In addition to that, topic_max_depth
sets a global maximum value for topic levels. This protects the broker from clients subscribing to arbitrary deep topic levels.
The default value for topic_max_depth
is 10. As an example, this value will allow topics like a/b/c/d/e/f/g/h/i/k
, that is 10 levels. A client running into the topic depth limit will be disconnected and an error will be logged.
This option allows persistent clients (those with clean_session
set to false
) to be removed if they do not reconnect within a certain time frame.
This is a non-standard option. As far as the MQTT specification is concerned, persistent clients are persisted forever.
The expiration period should be an integer followed by one of h
, d
, w
, m
, y
for hour, day, week, month, and year; or never
:
This option defaults to never
.
Limit the maximum publish payload size in bytes that VerneMQ allows. Messages that exceed this size won't be accepted.
Defaults to 0
, which means that all valid messages are accepted. MQTT specification imposes a maximum payload size of 268435455 bytes.