Kim Alvefur <zash@zash.se> [Fri, 16 Jul 2021 17:10:09 +0200] rev 11703
net.server_epoll: Use only fatal "write" timeout during TLS negotiation
Only real difference between the read and write timeouts is that the
former has a callback that allows the higher levels to keep the
connection alive, while hitting the later is immediately fatal. We want
the later behavior for TLS negotiation.
Kim Alvefur <zash@zash.se> [Fri, 16 Jul 2021 15:40:08 +0200] rev 11702
net.server_epoll: Optimize concatenation of exactly 2 buffer chunks
Saves a function call. I forget if I measured this kind of thing but
IIRC infix concatenation is faster than a function call up to some
number of items, but let's stop at 2 here.
Kim Alvefur <zash@zash.se> [Fri, 16 Jul 2021 15:38:38 +0200] rev 11701
net.server_epoll: Avoid allocating a buffer table for single writes
writebuffer is now string | { string }
Saves the allocation of a buffer table until the second write, which
could be rare, especially with opportunistic writes.
Kim Alvefur <zash@zash.se> [Fri, 16 Jul 2021 02:28:32 +0200] rev 11700
net.server_epoll: Optionally let go of buffers
Reusing an already existing buffer table would reduce garbage, but
keeping it while idle is a waste.
Kim Alvefur <zash@zash.se> [Fri, 16 Jul 2021 01:21:05 +0200] rev 11699
net.server_epoll: Propagate returns from opportunistic writes
So that if a write ends up writing directly to the socket, it gets the
actual return value
Kim Alvefur <zash@zash.se> [Thu, 15 Jul 2021 01:38:44 +0200] rev 11698
net.server_epoll: Set minimum wait time to 1ms, matching epoll
A timeout value less than 0.001 gets turned into zero on the C side, so
epoll_wait() returns instantly and essentially busy-loops up to 1ms,
e.g. when a timer event ends up scheduled (0, 0.001)ms into the future.
Unsure if this has much effect in practice, but it may waste a small
amount of CPU time. How much would depend on how often this ends up
happening and how fast the CPU gets trough main loop iterations.
Kim Alvefur <zash@zash.se> [Thu, 15 Jul 2021 00:38:27 +0200] rev 11697
prosodyctl: Add a note about checking the order of listed commands
Should Plugin really be first? What order makes the most sense?
Kim Alvefur <zash@zash.se> [Thu, 15 Jul 2021 00:37:47 +0200] rev 11696
prosodyctl: Add cert to command listing
This hides a whole bunch of subcommands tho, maybe those should be
explicitly listed?
Kim Alvefur <zash@zash.se> [Thu, 15 Jul 2021 00:35:57 +0200] rev 11695
prosodyctl: Add 'shell' to command listing
Kim Alvefur <zash@zash.se> [Sun, 30 May 2021 12:27:12 +0200] rev 11694
prosodyctl: Add 'check' to command listing (fixes #1622)
Along with infrastructure for the other commands that live in external
modules.