annotate src/http/modules/ngx_http_quic_module.h @ 8546:d80365ca678d quic

HTTP/3: require mandatory uni streams before additional ones. As per quic-http-34: Endpoints SHOULD create the HTTP control stream as well as the unidirectional streams required by mandatory extensions (such as the QPACK encoder and decoder streams) first, and then create additional streams as allowed by their peer. Previously, client could create and destroy additional uni streams unlimited number of times before creating mandatory streams.
author Roman Arutyunyan <arut@nginx.com>
date Thu, 29 Jul 2021 10:03:36 +0300
parents 9ec3e71f8a61
children 606bf52888d2
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7999
0d2b2664b41c QUIC: added "quic" listen parameter.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
1
0d2b2664b41c QUIC: added "quic" listen parameter.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
2 /*
0d2b2664b41c QUIC: added "quic" listen parameter.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
3 * Copyright (C) Nginx, Inc.
0d2b2664b41c QUIC: added "quic" listen parameter.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
4 * Copyright (C) Roman Arutyunyan
0d2b2664b41c QUIC: added "quic" listen parameter.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
5 */
0d2b2664b41c QUIC: added "quic" listen parameter.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
6
0d2b2664b41c QUIC: added "quic" listen parameter.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
7
0d2b2664b41c QUIC: added "quic" listen parameter.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
8 #ifndef _NGX_HTTP_QUIC_H_INCLUDED_
0d2b2664b41c QUIC: added "quic" listen parameter.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
9 #define _NGX_HTTP_QUIC_H_INCLUDED_
0d2b2664b41c QUIC: added "quic" listen parameter.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
10
0d2b2664b41c QUIC: added "quic" listen parameter.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
11
0d2b2664b41c QUIC: added "quic" listen parameter.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
12 #include <ngx_config.h>
0d2b2664b41c QUIC: added "quic" listen parameter.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
13 #include <ngx_core.h>
0d2b2664b41c QUIC: added "quic" listen parameter.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
14 #include <ngx_http.h>
0d2b2664b41c QUIC: added "quic" listen parameter.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
15
0d2b2664b41c QUIC: added "quic" listen parameter.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
16
8353
554e11a325a9 QUIC: fixed hq ALPN id for the final draft.
Sergey Kandaurov <pluknet@nginx.com>
parents: 8272
diff changeset
17 #define NGX_HTTP_QUIC_ALPN_ADVERTISE "\x0Ahq-interop"
8196
e0947c952d43 QUIC: multiple versions support in ALPN.
Sergey Kandaurov <pluknet@nginx.com>
parents: 7999
diff changeset
18 #define NGX_HTTP_QUIC_ALPN_DRAFT_FMT "\x05hq-%02uD"
7999
0d2b2664b41c QUIC: added "quic" listen parameter.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
19
0d2b2664b41c QUIC: added "quic" listen parameter.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
20
8429
9ec3e71f8a61 HTTP/3: reference h3c directly from ngx_http_connection_t.
Roman Arutyunyan <arut@nginx.com>
parents: 8353
diff changeset
21 #define ngx_http_quic_get_connection(c) \
9ec3e71f8a61 HTTP/3: reference h3c directly from ngx_http_connection_t.
Roman Arutyunyan <arut@nginx.com>
parents: 8353
diff changeset
22 ((ngx_http_connection_t *) (c)->quic->parent->data)
9ec3e71f8a61 HTTP/3: reference h3c directly from ngx_http_connection_t.
Roman Arutyunyan <arut@nginx.com>
parents: 8353
diff changeset
23
9ec3e71f8a61 HTTP/3: reference h3c directly from ngx_http_connection_t.
Roman Arutyunyan <arut@nginx.com>
parents: 8353
diff changeset
24
8272
e1eb7f4ca9f1 HTTP/3: refactored request parser.
Roman Arutyunyan <arut@nginx.com>
parents: 8196
diff changeset
25 ngx_int_t ngx_http_quic_init(ngx_connection_t *c);
7999
0d2b2664b41c QUIC: added "quic" listen parameter.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
26
0d2b2664b41c QUIC: added "quic" listen parameter.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
27
0d2b2664b41c QUIC: added "quic" listen parameter.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
28 #endif /* _NGX_HTTP_QUIC_H_INCLUDED_ */