diff --git a/include/haproxy/mux_quic-t.h b/include/haproxy/mux_quic-t.h index a0f8e0dbd..2fd3edab8 100644 --- a/include/haproxy/mux_quic-t.h +++ b/include/haproxy/mux_quic-t.h @@ -18,6 +18,7 @@ #include #include #include +#include #include /* Stream types */ diff --git a/src/mux_quic.c b/src/mux_quic.c index 03a7b2938..64e6df211 100644 --- a/src/mux_quic.c +++ b/src/mux_quic.c @@ -2996,6 +2996,7 @@ static int qmux_init(struct connection *conn, struct proxy *prx, qcc->wait_event.tasklet->process = qcc_io_cb; qcc->wait_event.tasklet->context = qcc; + qcc->wait_event.tasklet->state |= TASK_F_WANTS_TIME; qcc->wait_event.events = 0; qcc->proxy = prx; diff --git a/src/quic_pacing.c b/src/quic_pacing.c index 7b1e5b9dc..9dfa35206 100644 --- a/src/quic_pacing.c +++ b/src/quic_pacing.c @@ -1,16 +1,17 @@ #include #include +#include /* Returns true if timer is expired and emission can be retried. */ int quic_pacing_expired(const struct quic_pacer *pacer) { - return !pacer->next || pacer->next <= now_mono_time(); + return !pacer->next || pacer->next <= task_mono_time(); } /* Notify about an emission of count of datagrams. */ void quic_pacing_sent_done(struct quic_pacer *pacer, int sent) { - pacer->next = now_mono_time() + pacer->cc->algo->pacing_rate(pacer->cc) * sent; + pacer->next = task_mono_time() + pacer->cc->algo->pacing_rate(pacer->cc) * sent; pacer->last_sent = sent; }