aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/event/quic/ngx_event_quic.c9
-rw-r--r--src/event/quic/ngx_event_quic_connection.h7
-rw-r--r--src/event/quic/ngx_event_quic_migration.c2
3 files changed, 10 insertions, 8 deletions
diff --git a/src/event/quic/ngx_event_quic.c b/src/event/quic/ngx_event_quic.c
index b0cf056c1..4687c849e 100644
--- a/src/event/quic/ngx_event_quic.c
+++ b/src/event/quic/ngx_event_quic.c
@@ -260,14 +260,7 @@ ngx_quic_new_connection(ngx_connection_t *c, ngx_quic_conf_t *conf,
ngx_queue_init(&qc->free_frames);
- qc->avg_rtt = NGX_QUIC_INITIAL_RTT;
- qc->rttvar = NGX_QUIC_INITIAL_RTT / 2;
- qc->min_rtt = NGX_TIMER_INFINITE;
- qc->first_rtt = NGX_TIMER_INFINITE;
-
- /*
- * qc->latest_rtt = 0
- */
+ ngx_quic_init_rtt(qc);
qc->pto.log = c->log;
qc->pto.data = c;
diff --git a/src/event/quic/ngx_event_quic_connection.h b/src/event/quic/ngx_event_quic_connection.h
index 4ff0eae4a..ae771bcc5 100644
--- a/src/event/quic/ngx_event_quic_connection.h
+++ b/src/event/quic/ngx_event_quic_connection.h
@@ -65,6 +65,13 @@ typedef struct ngx_quic_keys_s ngx_quic_keys_t;
#define ngx_quic_get_socket(c) ((ngx_quic_socket_t *)((c)->udp))
+#define ngx_quic_init_rtt(qc) \
+ (qc)->avg_rtt = NGX_QUIC_INITIAL_RTT; \
+ (qc)->rttvar = NGX_QUIC_INITIAL_RTT / 2; \
+ (qc)->min_rtt = NGX_TIMER_INFINITE; \
+ (qc)->first_rtt = NGX_TIMER_INFINITE; \
+ (qc)->latest_rtt = 0;
+
typedef enum {
NGX_QUIC_PATH_IDLE = 0,
diff --git a/src/event/quic/ngx_event_quic_migration.c b/src/event/quic/ngx_event_quic_migration.c
index be8e0e304..58f3fc545 100644
--- a/src/event/quic/ngx_event_quic_migration.c
+++ b/src/event/quic/ngx_event_quic_migration.c
@@ -181,6 +181,8 @@ valid:
14720));
qc->congestion.ssthresh = (size_t) -1;
qc->congestion.recovery_start = ngx_current_msec;
+
+ ngx_quic_init_rtt(qc);
}
path->validated = 1;