Mercurial > hg > nginx
annotate src/http/v3/ngx_http_v3_encode.h @ 9045:c6580dce98a8 quic
QUIC: fixed triggering stream read event (ticket #2409).
If a client packet carrying a stream data frame is not acked due to packet loss,
the stream data is retransmitted later by client. It's also possible that the
retransmitted range is bigger than before due to more stream data being
available by then. If the original data was read out by the application,
there would be no read event triggered by the retransmitted frame, even though
it contains new data.
author | Roman Arutyunyan <arut@nginx.com> |
---|---|
date | Wed, 23 Nov 2022 18:50:26 +0400 |
parents | 0ac25efb2da3 |
children |
rev | line source |
---|---|
8773
b43e50f47b2e
HTTP/3: separate header files for existing source files.
Roman Arutyunyan <arut@nginx.com>
parents:
diff
changeset
|
1 |
b43e50f47b2e
HTTP/3: separate header files for existing source files.
Roman Arutyunyan <arut@nginx.com>
parents:
diff
changeset
|
2 /* |
b43e50f47b2e
HTTP/3: separate header files for existing source files.
Roman Arutyunyan <arut@nginx.com>
parents:
diff
changeset
|
3 * Copyright (C) Roman Arutyunyan |
b43e50f47b2e
HTTP/3: separate header files for existing source files.
Roman Arutyunyan <arut@nginx.com>
parents:
diff
changeset
|
4 * Copyright (C) Nginx, Inc. |
b43e50f47b2e
HTTP/3: separate header files for existing source files.
Roman Arutyunyan <arut@nginx.com>
parents:
diff
changeset
|
5 */ |
b43e50f47b2e
HTTP/3: separate header files for existing source files.
Roman Arutyunyan <arut@nginx.com>
parents:
diff
changeset
|
6 |
b43e50f47b2e
HTTP/3: separate header files for existing source files.
Roman Arutyunyan <arut@nginx.com>
parents:
diff
changeset
|
7 |
b43e50f47b2e
HTTP/3: separate header files for existing source files.
Roman Arutyunyan <arut@nginx.com>
parents:
diff
changeset
|
8 #ifndef _NGX_HTTP_V3_ENCODE_H_INCLUDED_ |
b43e50f47b2e
HTTP/3: separate header files for existing source files.
Roman Arutyunyan <arut@nginx.com>
parents:
diff
changeset
|
9 #define _NGX_HTTP_V3_ENCODE_H_INCLUDED_ |
b43e50f47b2e
HTTP/3: separate header files for existing source files.
Roman Arutyunyan <arut@nginx.com>
parents:
diff
changeset
|
10 |
b43e50f47b2e
HTTP/3: separate header files for existing source files.
Roman Arutyunyan <arut@nginx.com>
parents:
diff
changeset
|
11 |
b43e50f47b2e
HTTP/3: separate header files for existing source files.
Roman Arutyunyan <arut@nginx.com>
parents:
diff
changeset
|
12 #include <ngx_config.h> |
b43e50f47b2e
HTTP/3: separate header files for existing source files.
Roman Arutyunyan <arut@nginx.com>
parents:
diff
changeset
|
13 #include <ngx_core.h> |
b43e50f47b2e
HTTP/3: separate header files for existing source files.
Roman Arutyunyan <arut@nginx.com>
parents:
diff
changeset
|
14 #include <ngx_http.h> |
b43e50f47b2e
HTTP/3: separate header files for existing source files.
Roman Arutyunyan <arut@nginx.com>
parents:
diff
changeset
|
15 |
b43e50f47b2e
HTTP/3: separate header files for existing source files.
Roman Arutyunyan <arut@nginx.com>
parents:
diff
changeset
|
16 |
b43e50f47b2e
HTTP/3: separate header files for existing source files.
Roman Arutyunyan <arut@nginx.com>
parents:
diff
changeset
|
17 uintptr_t ngx_http_v3_encode_varlen_int(u_char *p, uint64_t value); |
b43e50f47b2e
HTTP/3: separate header files for existing source files.
Roman Arutyunyan <arut@nginx.com>
parents:
diff
changeset
|
18 uintptr_t ngx_http_v3_encode_prefix_int(u_char *p, uint64_t value, |
b43e50f47b2e
HTTP/3: separate header files for existing source files.
Roman Arutyunyan <arut@nginx.com>
parents:
diff
changeset
|
19 ngx_uint_t prefix); |
b43e50f47b2e
HTTP/3: separate header files for existing source files.
Roman Arutyunyan <arut@nginx.com>
parents:
diff
changeset
|
20 |
8807
0ac25efb2da3
HTTP/3: quic-qpack term updates.
Sergey Kandaurov <pluknet@nginx.com>
parents:
8773
diff
changeset
|
21 uintptr_t ngx_http_v3_encode_field_section_prefix(u_char *p, |
8773
b43e50f47b2e
HTTP/3: separate header files for existing source files.
Roman Arutyunyan <arut@nginx.com>
parents:
diff
changeset
|
22 ngx_uint_t insert_count, ngx_uint_t sign, ngx_uint_t delta_base); |
8807
0ac25efb2da3
HTTP/3: quic-qpack term updates.
Sergey Kandaurov <pluknet@nginx.com>
parents:
8773
diff
changeset
|
23 uintptr_t ngx_http_v3_encode_field_ri(u_char *p, ngx_uint_t dynamic, |
8773
b43e50f47b2e
HTTP/3: separate header files for existing source files.
Roman Arutyunyan <arut@nginx.com>
parents:
diff
changeset
|
24 ngx_uint_t index); |
8807
0ac25efb2da3
HTTP/3: quic-qpack term updates.
Sergey Kandaurov <pluknet@nginx.com>
parents:
8773
diff
changeset
|
25 uintptr_t ngx_http_v3_encode_field_lri(u_char *p, ngx_uint_t dynamic, |
8773
b43e50f47b2e
HTTP/3: separate header files for existing source files.
Roman Arutyunyan <arut@nginx.com>
parents:
diff
changeset
|
26 ngx_uint_t index, u_char *data, size_t len); |
8807
0ac25efb2da3
HTTP/3: quic-qpack term updates.
Sergey Kandaurov <pluknet@nginx.com>
parents:
8773
diff
changeset
|
27 uintptr_t ngx_http_v3_encode_field_l(u_char *p, ngx_str_t *name, |
8773
b43e50f47b2e
HTTP/3: separate header files for existing source files.
Roman Arutyunyan <arut@nginx.com>
parents:
diff
changeset
|
28 ngx_str_t *value); |
8807
0ac25efb2da3
HTTP/3: quic-qpack term updates.
Sergey Kandaurov <pluknet@nginx.com>
parents:
8773
diff
changeset
|
29 uintptr_t ngx_http_v3_encode_field_pbi(u_char *p, ngx_uint_t index); |
0ac25efb2da3
HTTP/3: quic-qpack term updates.
Sergey Kandaurov <pluknet@nginx.com>
parents:
8773
diff
changeset
|
30 uintptr_t ngx_http_v3_encode_field_lpbi(u_char *p, ngx_uint_t index, |
8773
b43e50f47b2e
HTTP/3: separate header files for existing source files.
Roman Arutyunyan <arut@nginx.com>
parents:
diff
changeset
|
31 u_char *data, size_t len); |
b43e50f47b2e
HTTP/3: separate header files for existing source files.
Roman Arutyunyan <arut@nginx.com>
parents:
diff
changeset
|
32 |
b43e50f47b2e
HTTP/3: separate header files for existing source files.
Roman Arutyunyan <arut@nginx.com>
parents:
diff
changeset
|
33 |
b43e50f47b2e
HTTP/3: separate header files for existing source files.
Roman Arutyunyan <arut@nginx.com>
parents:
diff
changeset
|
34 #endif /* _NGX_HTTP_V3_ENCODE_H_INCLUDED_ */ |