mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2026-01-16 14:21:03 +01:00
When an incoming connection request is accepted, a connection structure is needed to store its state. However we don't want to fully initialize a session until the data layer is about to be ready. As long as the connection is physically stored into the session, it's not easy to split both allocations. As such, we only initialize the minimum requirements of a session, which results in what we call an embryonic session. Then once the data layer is ready, we can complete the function's initialization. Doing so avoids buffers allocation and ensures that a session only sees ready connections. The frontend's client timeout is used as the handshake timeout. It is likely that another timeout will be used in the future.