mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-08-10 00:57:02 +02:00
MINOR: quic: notify connection layer on handshake completion
Wake up connection layer on QUIC handshake completion via quic_conn_io_cb. Select SUB_RETRY_RECV as this was previously unused by QUIC MUX layer. For the moment, QUIC MUX never subscribes for handshake completion. However, this will be necessary for features such as the delaying of early data forwarding via wait-for-handshake. This patch will be necessary to implement wait-for-handshake support for QUIC. As such, it must be backported with next commits up to 2.6, after a mandatory period of observation.
This commit is contained in:
parent
5091f90479
commit
5a5950e42d
@ -2701,7 +2701,8 @@ struct task *qcc_io_cb(struct task *t, void *ctx, unsigned int status)
|
|||||||
|
|
||||||
TRACE_ENTER(QMUX_EV_QCC_WAKE, qcc->conn);
|
TRACE_ENTER(QMUX_EV_QCC_WAKE, qcc->conn);
|
||||||
|
|
||||||
qcc_io_send(qcc);
|
if (!(qcc->wait_event.events & SUB_RETRY_SEND))
|
||||||
|
qcc_io_send(qcc);
|
||||||
|
|
||||||
qcc_io_recv(qcc);
|
qcc_io_recv(qcc);
|
||||||
|
|
||||||
|
@ -861,6 +861,14 @@ struct task *quic_conn_io_cb(struct task *t, void *context, unsigned int state)
|
|||||||
* TODO implement discarding of 0-RTT keys
|
* TODO implement discarding of 0-RTT keys
|
||||||
*/
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Wake up connection layer if on wait-for-handshake. */
|
||||||
|
if (qc->subs && qc->subs->events & SUB_RETRY_RECV) {
|
||||||
|
tasklet_wakeup(qc->subs->tasklet);
|
||||||
|
qc->subs->events &= ~SUB_RETRY_RECV;
|
||||||
|
if (!qc->subs->events)
|
||||||
|
qc->subs = NULL;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Insert each QEL into sending list if needed. */
|
/* Insert each QEL into sending list if needed. */
|
||||||
|
Loading…
Reference in New Issue
Block a user