diff src/event/quic/ngx_event_quic.h @ 9011:f9c788f3f5cc quic

QUIC: ngx_quic_buffer_t object. The object is used instead of ngx_chain_t pointer for buffer operations like ngx_quic_write_chain() and ngx_quic_read_chain(). These functions are renamed to ngx_quic_write_buffer() and ngx_quic_read_buffer().
author Roman Arutyunyan <arut@nginx.com>
date Mon, 14 Feb 2022 15:27:59 +0300
parents a5aebd51e4c7
children 8d11e2171697
line wrap: on
line diff
--- a/src/event/quic/ngx_event_quic.h
+++ b/src/event/quic/ngx_event_quic.h
@@ -49,6 +49,13 @@ typedef enum {
 
 
 typedef struct {
+    uint64_t                       size;
+    uint64_t                       offset;
+    ngx_chain_t                   *chain;
+} ngx_quic_buffer_t;
+
+
+typedef struct {
     ngx_ssl_t                     *ssl;
 
     ngx_flag_t                     retry;
@@ -84,13 +91,12 @@ struct ngx_quic_stream_s {
     uint64_t                       recv_offset;
     uint64_t                       recv_window;
     uint64_t                       recv_last;
-    uint64_t                       recv_size;
     uint64_t                       recv_final_size;
-    ngx_chain_t                   *in;
-    ngx_chain_t                   *out;
-    ngx_uint_t                     cancelable;  /* unsigned  cancelable:1; */
+    ngx_quic_buffer_t              send;
+    ngx_quic_buffer_t              recv;
     ngx_quic_stream_send_state_e   send_state;
     ngx_quic_stream_recv_state_e   recv_state;
+    ngx_uint_t                     cancelable;  /* unsigned  cancelable:1; */
 };