]> git.ipfire.org Git - thirdparty/haproxy.git/commit
MEDIUM: stconn/channel: Move pipes used for the splicing in the SE descriptors
authorChristopher Faulet <cfaulet@haproxy.com>
Thu, 22 Jun 2023 09:39:29 +0000 (11:39 +0200)
committerChristopher Faulet <cfaulet@haproxy.com>
Tue, 17 Oct 2023 16:51:13 +0000 (18:51 +0200)
commit8bee0dcd7d87ef9065cc9ef9398fad26557e18b1
tree65e9538b013d323b1b22a3839780998eab6099d8
parent1fdfa4f9ba047aad76e1c7b4e894edf966f0a724
MEDIUM: stconn/channel: Move pipes used for the splicing in the SE descriptors

The pipes used to put data when the kernel splicing is in used are moved in
the SE descriptors. For now, it is just a simple remplacement but there is a
major difference with the pipes in the channel. The data are pushed in the
consumer's pipe while it was pushed in the producer's pipe. So it means the
request data are now pushed in the pipe of the backend SE descriptor and
response data are pushed in the pipe of the frontend SE descriptor.

The idea is to hide the pipe from the channel/SC side and to be able to
handle fast-forwading in pipe but also in buffer. To do so, the pipe is
inside a new entity, called iobuf. This entity will be extended.
include/haproxy/channel-t.h
include/haproxy/channel.h
include/haproxy/stconn-t.h
src/applet.c
src/stconn.c
src/stream.c