Skip to content

Commit

Permalink
Document 'retained_messages_node_limit' in man page
Browse files Browse the repository at this point in the history
  • Loading branch information
halfgaar committed Dec 31, 2023
1 parent 58ec5f9 commit a63778c
Show file tree
Hide file tree
Showing 3 changed files with 31 additions and 10 deletions.
11 changes: 7 additions & 4 deletions man/flashmq.conf.5
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
\\$2 \(la\\$1\(ra\\$3
..
.if \n(.g .mso www.tmac
.TH flashmq.conf 5 "12 December 2023" "" ""
.TH flashmq.conf 5 "31 December 2023" "" ""
.SH NAME
flashmq.conf \- FlashMQ configuration file format
.SH SYNOPSIS
Expand Down Expand Up @@ -190,11 +190,14 @@ Use this to limit the life time of retained messages. Without this, the amount o
Default value: \*(T<\fI4294967296\fR\*(T>
.TP
\*(T<\fBretained_messages_delivery_limit\fR\*(T> \fInumber\fR
When clients place a subscription, they will get the retained messages matching that subscription. However, if you have millions, clients subscribing to '#' will cause a heavy load. Use this setting to limit to what you need/expect.
Deprecated.
.TP
\*(T<\fBretained_messages_node_limit\fR\*(T> \fInumber\fR
When clients place a subscription, they will get the retained messages matching that subscription. Even though traversing the retained message tree is deprioritized in favor of other traffic, it will still cause CPU load until it's done. If you have a tree with millions of nodes and clients subscribe to `#`, this is potentially unwanted. You can use this setting to limit how many nodes of the retrained tree are traversed.

Note that clients will also have (buffer) limits, so even if you set this high, clients may drop messages as well.
Note that the topic `one/two/three` is three nodes, and each node doesn't necessarilly need to contain a message.

Default value: \*(T<\fI2048\fR\*(T>
Default value: \*(T<\fI4294967296\fR\*(T>
.TP
\*(T<\fBwebsocket_set_real_ip_from\fR\*(T> \fIinet4_address/inet6_address\fR
HTTP proxies in front of the websocket listeners can set the \fIX-Real-IP\fR header to identify the original connecting client. With \*(T<\fBwebsocket_set_real_ip_from\fR\*(T> you can mark IP networks as trusted. By default, clients are not trusted, to avoid spoofing.
Expand Down
15 changes: 12 additions & 3 deletions man/flashmq.conf.5.dbk5
Original file line number Diff line number Diff line change
Expand Up @@ -389,13 +389,22 @@
<term><option>retained_messages_delivery_limit</option> <replaceable>number</replaceable></term>
<listitem>
<para>
When clients place a subscription, they will get the retained messages matching that subscription. However, if you have millions, clients subscribing to '#' will cause a heavy load. Use this setting to limit to what you need/expect.
Deprecated.
</para>
</listitem>
</varlistentry>

<varlistentry xml:id="retained_messages_node_limit">
<term><option>retained_messages_node_limit</option> <replaceable>number</replaceable></term>
<listitem>
<para>
Note that clients will also have (buffer) limits, so even if you set this high, clients may drop messages as well.
When clients place a subscription, they will get the retained messages matching that subscription. Even though traversing the retained message tree is deprioritized in favor of other traffic, it will still cause CPU load until it's done. If you have a tree with millions of nodes and clients subscribe to `#`, this is potentially unwanted. You can use this setting to limit how many nodes of the retrained tree are traversed.
</para>
<para>
Default value: <filename>2048</filename>
Note that the topic `one/two/three` is three nodes, and each node doesn't necessarilly need to contain a message.
</para>
<para>
Default value: <filename>4294967296</filename>
</para>
</listitem>
</varlistentry>
Expand Down
15 changes: 12 additions & 3 deletions man/flashmq.conf.5.html
Original file line number Diff line number Diff line change
Expand Up @@ -444,13 +444,22 @@
<dt id="retained_messages_delivery_limit"><code class="option">retained_messages_delivery_limit</code> <code class="replaceable">number</code><a class="hash-anchor" href="#retained_messages_delivery_limit">#</a></dt>
<dd>
<p>
When clients place a subscription, they will get the retained messages matching that subscription. However, if you have millions, clients subscribing to '#' will cause a heavy load. Use this setting to limit to what you need/expect.
Deprecated.
</p>
</dd>



<dt id="retained_messages_node_limit"><code class="option">retained_messages_node_limit</code> <code class="replaceable">number</code><a class="hash-anchor" href="#retained_messages_node_limit">#</a></dt>
<dd>
<p>
When clients place a subscription, they will get the retained messages matching that subscription. Even though traversing the retained message tree is deprioritized in favor of other traffic, it will still cause CPU load until it's done. If you have a tree with millions of nodes and clients subscribe to `#`, this is potentially unwanted. You can use this setting to limit how many nodes of the retrained tree are traversed.
</p>
<p>
Note that clients will also have (buffer) limits, so even if you set this high, clients may drop messages as well.
Note that the topic `one/two/three` is three nodes, and each node doesn't necessarilly need to contain a message.
</p>
<p>
Default value: <code class="filename">2048</code>
Default value: <code class="filename">4294967296</code>
</p>
</dd>

Expand Down

0 comments on commit a63778c

Please sign in to comment.