mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-09-23 14:51:27 +02:00
On first prototype version of QUIC, emission was multithreaded. To support this, a custom thread-safe ring-buffer has been implemented with qring/cbuf. Now the thread model has been adjusted : a quic-conn is always used on the same thread and emission is not multi-threaded. Thus, qring/cbuf usage can be replace by a standard struct buffer. The code has been simplified even more as for now buffer is always drained after a prepare/send invocation. This is the case since a datagram is always considered as sent even on sendto() error. BUG_ON statements guard are here to ensure that this model is always valid. Thus, code to handle data wrapping and consume too small contiguous space with a 0-length datagram is removed.