comparison src/event/quic/ngx_event_quic.h @ 8856: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
comparison
equal deleted inserted replaced
8855:a5aebd51e4c7 8856:f9c788f3f5cc
47 NGX_QUIC_STREAM_RECV_RESET_READ 47 NGX_QUIC_STREAM_RECV_RESET_READ
48 } ngx_quic_stream_recv_state_e; 48 } ngx_quic_stream_recv_state_e;
49 49
50 50
51 typedef struct { 51 typedef struct {
52 uint64_t size;
53 uint64_t offset;
54 ngx_chain_t *chain;
55 } ngx_quic_buffer_t;
56
57
58 typedef struct {
52 ngx_ssl_t *ssl; 59 ngx_ssl_t *ssl;
53 60
54 ngx_flag_t retry; 61 ngx_flag_t retry;
55 ngx_flag_t gso_enabled; 62 ngx_flag_t gso_enabled;
56 ngx_flag_t disable_active_migration; 63 ngx_flag_t disable_active_migration;
82 uint64_t send_final_size; 89 uint64_t send_final_size;
83 uint64_t recv_max_data; 90 uint64_t recv_max_data;
84 uint64_t recv_offset; 91 uint64_t recv_offset;
85 uint64_t recv_window; 92 uint64_t recv_window;
86 uint64_t recv_last; 93 uint64_t recv_last;
87 uint64_t recv_size;
88 uint64_t recv_final_size; 94 uint64_t recv_final_size;
89 ngx_chain_t *in; 95 ngx_quic_buffer_t send;
90 ngx_chain_t *out; 96 ngx_quic_buffer_t recv;
91 ngx_uint_t cancelable; /* unsigned cancelable:1; */
92 ngx_quic_stream_send_state_e send_state; 97 ngx_quic_stream_send_state_e send_state;
93 ngx_quic_stream_recv_state_e recv_state; 98 ngx_quic_stream_recv_state_e recv_state;
99 ngx_uint_t cancelable; /* unsigned cancelable:1; */
94 }; 100 };
95 101
96 102
97 void ngx_quic_run(ngx_connection_t *c, ngx_quic_conf_t *conf); 103 void ngx_quic_run(ngx_connection_t *c, ngx_quic_conf_t *conf);
98 ngx_connection_t *ngx_quic_open_stream(ngx_connection_t *c, ngx_uint_t bidi); 104 ngx_connection_t *ngx_quic_open_stream(ngx_connection_t *c, ngx_uint_t bidi);