NNTPS pointers
Russ Allbery
eagle at eyrie.org
Tue Oct 19 21:57:24 UTC 2021
Julien ÉLIE <julien at trigofacile.com> writes:
> It is tricky to implement in innd, with its channels...
> Same thing for COMPRESS, which would be useful to have in transit mode.
I've probably said this at some point before, but the core innd I/O loop
is basically a partial (but very battle-tested) implementation of
libevent built on the lowest-common-denominator system calls and therefore
slower and less efficient.
It's yet another huge project, but replacing the innd core I/O loop with
actual libevent would not only give us TLS for essentially free and
probably substantial performance improvements given that libevent would
use epoll/kqueue (and presumably io_ring at some point, although it
doesn't look like they've implemented that yet), it would also give us DNS
resolution in the event loop, which would eliminate the long-standing
"periodically reload incoming.conf because INN doesn't honor DNS TTLs"
problem.
I've used libevent for another project and it's really nice to work with.
It uses a similar callback model to how INN already works.
--
Russ Allbery (eagle at eyrie.org) <https://www.eyrie.org/~eagle/>
Please send questions to the list rather than mailing me directly.
<https://www.eyrie.org/~eagle/faqs/questions.html> explains why.
More information about the inn-workers
mailing list