BUG/MINOR: spoe: Only skip sending new frame after a receive attempt

When a SPOE appctx is processing frames in sync mode, we must only skip
sending a new frame if it is still waiting for a ACK frame after a receive
attempt. It was performed before the receive attempt. As a consequence, if
the ACK frame was received, the SPOE appctx did not try to process queued
messages immediately. This could increase the queue time and thus slow down
the processing time of the stream.

Thanks to Daniel Epperson for his help to diagnose the bug.

This patch must be backported to every stable versions.

(cherry picked from commit bc9fb646236634a26d4f3cffe64fa91f213d8eed)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
(cherry picked from commit d4349b88a4c8f671e744eb0c35a4615bf77afbda)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
(cherry picked from commit 0b5298a0d99ee464748231c131d97e28dba0d657)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
(cherry picked from commit cc61d917f5ab967657caf6549323374c9f4c058d)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
1 file changed