Thu, 16 Dec 2021 16:02:01 +0100 mod_smacks: Stop stanzas from being queued on hibernation timeout
Kim Alvefur <zash@zash.se> [Thu, 16 Dec 2021 16:02:01 +0100] rev 12063
mod_smacks: Stop stanzas from being queued on hibernation timeout This overloads that flag a bit, but it has the intended effect of stopping outgoing_stanza_filter() from queueing stanzas. Fixes a traceback because of the queue having been removed somewhere around here, since it is no longer needed. Thanks Martin for reporting
Thu, 16 Dec 2021 12:16:45 +0100 util.smqueue: Simplify compat table, fix dependent modules (thanks Martin)
Kim Alvefur <zash@zash.se> [Thu, 16 Dec 2021 12:16:45 +0100] rev 12062
util.smqueue: Simplify compat table, fix dependent modules (thanks Martin) There was an off-by-one in the modulo calculation. Switching to a plain old array-table makes the apparent size of the queue wrong, but since some of the queue may not be available this is likely for the best.
Thu, 16 Dec 2021 12:16:08 +0100 util.smqueue: Add missing method to Teal record spec
Kim Alvefur <zash@zash.se> [Thu, 16 Dec 2021 12:16:08 +0100] rev 12061
util.smqueue: Add missing method to Teal record spec
Tue, 14 Dec 2021 20:00:45 +0100 mod_smacks: Limit queue memory consumption using new util
Kim Alvefur <zash@zash.se> [Tue, 14 Dec 2021 20:00:45 +0100] rev 12060
mod_smacks: Limit queue memory consumption using new util This brings back the queue size limit that was once added, then removed because destroying the session when reaching the limit was not great. Instead, the queue wraps and overwrites the oldest unacked stanza on the assumption that it will probably be acked anyway and thus does not need to be delivered. If those discarded stanzas turn out to be needed on resumption then the resumption fails.
Tue, 14 Dec 2021 19:58:53 +0100 util.smqueue: Abstract queue with acknowledgements and overflow
Kim Alvefur <zash@zash.se> [Tue, 14 Dec 2021 19:58:53 +0100] rev 12059
util.smqueue: Abstract queue with acknowledgements and overflow Meant to be used in mod_smacks for XEP-0198 Meant to have a larger virtual size than actual number of items stored, on the theory that in most cases, the excess will be acked before needed for a resumption event.
Thu, 02 Dec 2021 02:46:26 +0100 mod_smacks: Set a watchdog to watch sleeping sessions
Kim Alvefur <zash@zash.se> [Thu, 02 Dec 2021 02:46:26 +0100] rev 12058
mod_smacks: Set a watchdog to watch sleeping sessions Extending the timeout by poking the watchdog, and letting it go on resumption, should be much better than the previous method.
Thu, 02 Dec 2021 14:41:19 +0100 mod_smacks: Switch storage for tracking resumption tokens
Kim Alvefur <zash@zash.se> [Thu, 02 Dec 2021 14:41:19 +0100] rev 12057
mod_smacks: Switch storage for tracking resumption tokens All that was a complicated way to limit the number of resumable sessions. Let's control resource usage some other way. This leaves the essence of mapping resumption tokens to live sessions. This keeps resumption state across reloads.
Wed, 01 Dec 2021 20:13:08 +0100 mod_smacks: Clear resumption token from persistent storage on resumption
Kim Alvefur <zash@zash.se> [Wed, 01 Dec 2021 20:13:08 +0100] rev 12056
mod_smacks: Clear resumption token from persistent storage on resumption
Wed, 01 Dec 2021 16:41:10 +0100 mod_smacks: Persist old counter values to storage
Kim Alvefur <zash@zash.se> [Wed, 01 Dec 2021 16:41:10 +0100] rev 12055
mod_smacks: Persist old counter values to storage This allows clients that try to resume a session after a server restart to at least know which of their pending outgoing stanzas were received and which need to be re-sent. This removes the limit on how many of those counters are kept, which should be fixed eventually.
Wed, 15 Dec 2021 12:09:30 +0100 mod_smacks: Remove now unused variable [luacheck]
Kim Alvefur <zash@zash.se> [Wed, 15 Dec 2021 12:09:30 +0100] rev 12054
mod_smacks: Remove now unused variable [luacheck]
(0) -10000 -3000 -1000 -300 -100 -10 +10 +100 +300 +1000 tip