comparison src/http/v3/ngx_http_v3_module.c @ 8549:054f9be0aaf9 quic

HTTP/3: http3_max_uni_streams directive. The directive limits the number of uni streams client is allowed to create.
author Roman Arutyunyan <arut@nginx.com>
date Thu, 29 Jul 2021 12:17:56 +0300
parents f0882db8c8d4
children 4f922f611135
comparison
equal deleted inserted replaced
8548:f3331deed357 8549:054f9be0aaf9
38 { ngx_string("http3_max_concurrent_pushes"), 38 { ngx_string("http3_max_concurrent_pushes"),
39 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_CONF_TAKE1, 39 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_CONF_TAKE1,
40 ngx_conf_set_num_slot, 40 ngx_conf_set_num_slot,
41 NGX_HTTP_SRV_CONF_OFFSET, 41 NGX_HTTP_SRV_CONF_OFFSET,
42 offsetof(ngx_http_v3_srv_conf_t, max_concurrent_pushes), 42 offsetof(ngx_http_v3_srv_conf_t, max_concurrent_pushes),
43 NULL },
44
45 { ngx_string("http3_max_uni_streams"),
46 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_CONF_TAKE1,
47 ngx_conf_set_num_slot,
48 NGX_HTTP_SRV_CONF_OFFSET,
49 offsetof(ngx_http_v3_srv_conf_t, max_uni_streams),
43 NULL }, 50 NULL },
44 51
45 { ngx_string("http3_push"), 52 { ngx_string("http3_push"),
46 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1, 53 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1,
47 ngx_http_v3_push, 54 ngx_http_v3_push,
102 } 109 }
103 110
104 h3scf->max_table_capacity = NGX_CONF_UNSET_SIZE; 111 h3scf->max_table_capacity = NGX_CONF_UNSET_SIZE;
105 h3scf->max_blocked_streams = NGX_CONF_UNSET_UINT; 112 h3scf->max_blocked_streams = NGX_CONF_UNSET_UINT;
106 h3scf->max_concurrent_pushes = NGX_CONF_UNSET_UINT; 113 h3scf->max_concurrent_pushes = NGX_CONF_UNSET_UINT;
114 h3scf->max_uni_streams = NGX_CONF_UNSET_UINT;
107 115
108 return h3scf; 116 return h3scf;
109 } 117 }
110 118
111 119
124 NGX_HTTP_V3_DEFAULT_MAX_BLOCKED_STREAMS); 132 NGX_HTTP_V3_DEFAULT_MAX_BLOCKED_STREAMS);
125 133
126 ngx_conf_merge_uint_value(conf->max_concurrent_pushes, 134 ngx_conf_merge_uint_value(conf->max_concurrent_pushes,
127 prev->max_concurrent_pushes, 135 prev->max_concurrent_pushes,
128 NGX_HTTP_V3_DEFAULT_MAX_CONCURRENT_PUSHES); 136 NGX_HTTP_V3_DEFAULT_MAX_CONCURRENT_PUSHES);
137
138 ngx_conf_merge_uint_value(conf->max_uni_streams,
139 prev->max_uni_streams,
140 NGX_HTTP_V3_DEFAULT_MAX_UNI_STREAMS);
129 141
130 return NGX_CONF_OK; 142 return NGX_CONF_OK;
131 } 143 }
132 144
133 145