diff --git a/man/flashmq.conf.5 b/man/flashmq.conf.5 index 7aae289b..0468293c 100644 --- a/man/flashmq.conf.5 +++ b/man/flashmq.conf.5 @@ -5,7 +5,7 @@ \\$2 \(la\\$1\(ra\\$3 .. .if \n(.g .mso www.tmac -.TH flashmq.conf 5 "31 December 2023" "" "" +.TH flashmq.conf 5 "5 February 2024" "" "" .SH NAME flashmq.conf \- FlashMQ configuration file format .SH SYNOPSIS @@ -217,6 +217,18 @@ When having multiple subscribers on a shared subscription (like '$share/myshare/ Default: \fIround_robin\fR .TP +\*(T<\fBminimum_wildcard_subscription_depth\fR\*(T> \fInumber\fR +Defines the minimum level of the first wildcard topic filter (\*(T<\fB#\fR\*(T> and \*(T<\fB+\fR\*(T>). In a topic filter like \*(T<\fBsensors/temperature/#\fR\*(T>, that is 2. If you specify 2, a subscription to \*(T<\fBsensors/#\fR\*(T> will be denied. Remember that only MQTT 3.1.1 and newer actually notify the client of the denial in the sub-ack packet. + +The reason you may want to limit it, is performance. If you have a base message load of 100,000 messages per second, each client subscribing to \*(T<\fB#\fR\*(T> causes that many permission checks per second. If you have 100 clients doing that, there will be 10 million permission checks per second. + +Default: \fI0\fR +.TP +\*(T<\fBwildcard_subscription_deny_mode\fR\*(T> \fIdeny_all/deny_retained_only\fR +For \*(T<\fBminimum_wildcard_subscription_depth\fR\*(T>, specify what you want to deny. Trying to give a client all retained messages can cause quite some load, so only denying the retained messages upon receiving a broad wildcard subscription can be useful if you have a low enough general message volume, but a high number of retained messages. + +Default: \*(T +.TP \*(T<\fBinclude_dir\fR\*(T> \fI/path/to/dir\fR Load *.conf files from the specified directory, to merge with the main configuration file. diff --git a/man/flashmq.conf.5.dbk5 b/man/flashmq.conf.5.dbk5 index ff12aee0..0ce8d3bf 100644 --- a/man/flashmq.conf.5.dbk5 +++ b/man/flashmq.conf.5.dbk5 @@ -445,6 +445,33 @@ + + number + + + Defines the minimum level of the first wildcard topic filter ( and ). In a topic filter like , that is 2. If you specify 2, a subscription to will be denied. Remember that only MQTT 3.1.1 and newer actually notify the client of the denial in the sub-ack packet. + + + The reason you may want to limit it, is performance. If you have a base message load of 100,000 messages per second, each client subscribing to causes that many permission checks per second. If you have 100 clients doing that, there will be 10 million permission checks per second. + + + Default: 0 + + + + + + deny_all/deny_retained_only + + + For , specify what you want to deny. Trying to give a client all retained messages can cause quite some load, so only denying the retained messages upon receiving a broad wildcard subscription can be useful if you have a low enough general message volume, but a high number of retained messages. + + + Default: deny_all + + + + /path/to/dir diff --git a/man/flashmq.conf.5.html b/man/flashmq.conf.5.html index c0fdd638..f93836b0 100644 --- a/man/flashmq.conf.5.html +++ b/man/flashmq.conf.5.html @@ -501,6 +501,33 @@ +
minimum_wildcard_subscription_depth number#
+
+

+ Defines the minimum level of the first wildcard topic filter (# and +). In a topic filter like sensors/temperature/#, that is 2. If you specify 2, a subscription to sensors/# will be denied. Remember that only MQTT 3.1.1 and newer actually notify the client of the denial in the sub-ack packet. +

+

+ The reason you may want to limit it, is performance. If you have a base message load of 100,000 messages per second, each client subscribing to # causes that many permission checks per second. If you have 100 clients doing that, there will be 10 million permission checks per second. +

+

+ Default: 0 +

+
+ + + +
wildcard_subscription_deny_mode deny_all/deny_retained_only#
+
+

+ For minimum_wildcard_subscription_depth, specify what you want to deny. Trying to give a client all retained messages can cause quite some load, so only denying the retained messages upon receiving a broad wildcard subscription can be useful if you have a low enough general message volume, but a high number of retained messages. +

+

+ Default: deny_all +

+
+ + +
include_dir /path/to/dir#