comparison src/event/quic/ngx_event_quic.h @ 9058:b0c2234aaa9f quic

QUIC: application init() callback. It's called after handshake completion or prior to the first early data stream creation. The callback should initialize application-level data before creating streams. HTTP/3 callback implementation sets keepalive timer and sends SETTINGS. Also, this allows to limit max handshake time in ngx_http_v3_init_stream().
author Roman Arutyunyan <arut@nginx.com>
date Wed, 30 Nov 2022 12:51:15 +0400
parents 1192923be0aa
children 35e27117b593
comparison
equal deleted inserted replaced
9057:7b83da3bdf9f 9058:b0c2234aaa9f
26 26
27 #define NGX_QUIC_STREAM_SERVER_INITIATED 0x01 27 #define NGX_QUIC_STREAM_SERVER_INITIATED 0x01
28 #define NGX_QUIC_STREAM_UNIDIRECTIONAL 0x02 28 #define NGX_QUIC_STREAM_UNIDIRECTIONAL 0x02
29 29
30 30
31 typedef ngx_int_t (*ngx_quic_init_pt)(ngx_connection_t *c);
31 typedef void (*ngx_quic_shutdown_pt)(ngx_connection_t *c); 32 typedef void (*ngx_quic_shutdown_pt)(ngx_connection_t *c);
32 33
33 34
34 typedef enum { 35 typedef enum {
35 NGX_QUIC_STREAM_SEND_READY = 0, 36 NGX_QUIC_STREAM_SEND_READY = 0,
75 ngx_uint_t active_connection_id_limit; 76 ngx_uint_t active_connection_id_limit;
76 ngx_int_t stream_close_code; 77 ngx_int_t stream_close_code;
77 ngx_int_t stream_reject_code_uni; 78 ngx_int_t stream_reject_code_uni;
78 ngx_int_t stream_reject_code_bidi; 79 ngx_int_t stream_reject_code_bidi;
79 80
81 ngx_quic_init_pt init;
80 ngx_quic_shutdown_pt shutdown; 82 ngx_quic_shutdown_pt shutdown;
81 83
82 u_char av_token_key[NGX_QUIC_AV_KEY_LEN]; 84 u_char av_token_key[NGX_QUIC_AV_KEY_LEN];
83 u_char sr_token_key[NGX_QUIC_SR_KEY_LEN]; 85 u_char sr_token_key[NGX_QUIC_SR_KEY_LEN];
84 } ngx_quic_conf_t; 86 } ngx_quic_conf_t;