Add keep-alive support to the HTTP module.
authorclaudio <claudio@openbsd.org>
Tue, 20 Apr 2021 14:32:49 +0000 (14:32 +0000)
committerclaudio <claudio@openbsd.org>
Tue, 20 Apr 2021 14:32:49 +0000 (14:32 +0000)
commit75c55a07df1ec661f0d1c973e1e804cb6ffbac97
tree411f574b37e54d6df4b100499fe0dafd58608b64
parent17c1e8f14e4929c641d1677e3b30067a9566f528
Add keep-alive support to the HTTP module.
Requests are split away from connections. When a request is received try
to reuse an IDLE connection. If none is around start a new one (unless
there are too many connections inflight).

Idle connections are kept for 10sec and closed after that time. For
rpki-client this is plenty of time since RRDP exchanges will be a burst
of requests. So the connection used to fetch the notification XML file
will be reused to fetch all delta XML files.

This reduces the CPU load since far less TLS handshakes need to happen.

OK job@ deraadt@
usr.sbin/rpki-client/http.c