comparison src/event/ngx_event_quic_transport.h @ 7953:e0f92f68e018 quic

QUIC: Introduced ngx_quic_finalize_connection(). The function finalizes QUIC connection with an application protocol error code and sends a CONNECTION_CLOSE frame with type=0x1d. Also, renamed NGX_QUIC_FT_CONNECTION_CLOSE2 to NGX_QUIC_FT_CONNECTION_CLOSE_APP.
author Roman Arutyunyan <arut@nginx.com>
date Thu, 02 Jul 2020 16:33:59 +0300
parents 97adb87f149b
children 0d1ad81dd65c
comparison
equal deleted inserted replaced
7952:a7f64438aa3c 7953:e0f92f68e018
69 #define NGX_QUIC_FT_NEW_CONNECTION_ID 0x18 69 #define NGX_QUIC_FT_NEW_CONNECTION_ID 0x18
70 #define NGX_QUIC_FT_RETIRE_CONNECTION_ID 0x19 70 #define NGX_QUIC_FT_RETIRE_CONNECTION_ID 0x19
71 #define NGX_QUIC_FT_PATH_CHALLENGE 0x1A 71 #define NGX_QUIC_FT_PATH_CHALLENGE 0x1A
72 #define NGX_QUIC_FT_PATH_RESPONSE 0x1B 72 #define NGX_QUIC_FT_PATH_RESPONSE 0x1B
73 #define NGX_QUIC_FT_CONNECTION_CLOSE 0x1C 73 #define NGX_QUIC_FT_CONNECTION_CLOSE 0x1C
74 #define NGX_QUIC_FT_CONNECTION_CLOSE2 0x1D 74 #define NGX_QUIC_FT_CONNECTION_CLOSE_APP 0x1D
75 #define NGX_QUIC_FT_HANDSHAKE_DONE 0x1E 75 #define NGX_QUIC_FT_HANDSHAKE_DONE 0x1E
76 76
77 /* 22.4. QUIC Transport Error Codes Registry */ 77 /* 22.4. QUIC Transport Error Codes Registry */
78 /* Keep in sync with ngx_quic_errors[] */ 78 /* Keep in sync with ngx_quic_errors[] */
79 #define NGX_QUIC_ERR_NO_ERROR 0x00 79 #define NGX_QUIC_ERR_NO_ERROR 0x00
183 183
184 typedef struct { 184 typedef struct {
185 uint64_t error_code; 185 uint64_t error_code;
186 uint64_t frame_type; 186 uint64_t frame_type;
187 ngx_str_t reason; 187 ngx_str_t reason;
188 ngx_uint_t app; /* unsigned app:1; */
188 } ngx_quic_close_frame_t; 189 } ngx_quic_close_frame_t;
189 190
190 191
191 typedef struct { 192 typedef struct {
192 uint64_t id; 193 uint64_t id;