diff src/event/ngx_event_quic_transport.h @ 8596:38c7dd720774 quic

QUIC: added ACK frame range support. The history of acknowledged packet is kept in send context as ranges. Up to NGX_QUIC_MAX_RANGES ranges is stored. As a result, instead of separate ack frames, single frame with ranges is sent.
author Vladimir Homutov <vl@nginx.com>
date Tue, 20 Oct 2020 18:53:00 +0300
parents 93be5658a250
children c5ea341f705a
line wrap: on
line diff
--- a/src/event/ngx_event_quic_transport.h
+++ b/src/event/ngx_event_quic_transport.h
@@ -120,6 +120,15 @@
 #define NGX_QUIC_CID_LEN_MIN                                8
 #define NGX_QUIC_CID_LEN_MAX                               20
 
+#define NGX_QUIC_MAX_RANGES                                10
+
+
+typedef struct {
+    uint64_t                                    gap;
+    uint64_t                                    range;
+} ngx_quic_ack_range_t;
+
+
 typedef struct {
     uint64_t                                    largest;
     uint64_t                                    delay;
@@ -128,8 +137,8 @@ typedef struct {
     uint64_t                                    ect0;
     uint64_t                                    ect1;
     uint64_t                                    ce;
-    u_char                                      *ranges_start;
-    u_char                                      *ranges_end;
+    u_char                                     *ranges_start;
+    u_char                                     *ranges_end;
 } ngx_quic_ack_frame_t;