On 29 June 2017 at 16:21, Tom Herbert <t...@herbertland.com> wrote: > I think the main part of that discussion was around stream parser > which is needed for message delineation. For a 1:1 proxy, KCM is > probably overkill (the whole KCM data path and lock becomes > superfluous). Also, there's no concept of creating a whole message > before routing it, in the 1:1 case we should let the message pass > through once it's cleared by the filter (this is the strparser change > I referred to). As I mentioned, for L7 load balancing we would want a > multiplexor probably also M:N, but the structure is different since > there's still no user facing sockets, they're all TCP for instance. > IMO, the 1:1 proxy case is compelling to solve in itself...
I see. I was definitely thinking m:n. We should definitely evaluate whether it makes sense to have a specific 1:1 implementation if we need m:n anyway. For L7 LB, m:n seems obvious as a particular L4 connection may act as a transport for multiple requests bidirectional. KCM looks like a good starting point for that. When I talked about enqueueing entire messages, the main concern is to buffer up the payload after the TLS handshake to the point to where a forwarding decision can be made. I would definitely not advocate to buffer entire messages before starting to forward.