Mercurial > hg > nginx-quic
annotate src/core/ngx_rwlock.h @ 8551:c35b255d80dc quic
HTTP/3: close connection on keepalive_requests * 2.
After receiving GOAWAY, client is not supposed to create new streams. However,
until client reads this frame, we allow it to create new streams, which are
gracefully rejected. To prevent client from abusing this algorithm, a new
limit is introduced. Upon reaching keepalive_requests * 2, server now closes
the entire QUIC connection claiming excessive load.
author | Roman Arutyunyan <arut@nginx.com> |
---|---|
date | Thu, 29 Jul 2021 16:01:37 +0300 |
parents | d1816a2696de |
children |
rev | line source |
---|---|
6101 | 1 |
2 /* | |
3 * Copyright (C) Ruslan Ermilov | |
4 * Copyright (C) Nginx, Inc. | |
5 */ | |
6 | |
7 | |
8 #ifndef _NGX_RWLOCK_H_INCLUDED_ | |
9 #define _NGX_RWLOCK_H_INCLUDED_ | |
10 | |
11 | |
12 #include <ngx_config.h> | |
13 #include <ngx_core.h> | |
14 | |
15 | |
16 void ngx_rwlock_wlock(ngx_atomic_t *lock); | |
17 void ngx_rwlock_rlock(ngx_atomic_t *lock); | |
18 void ngx_rwlock_unlock(ngx_atomic_t *lock); | |
7038
d1816a2696de
Introduced ngx_rwlock_downgrade().
Ruslan Ermilov <ru@nginx.com>
parents:
6101
diff
changeset
|
19 void ngx_rwlock_downgrade(ngx_atomic_t *lock); |
6101 | 20 |
21 | |
22 #endif /* _NGX_RWLOCK_H_INCLUDED_ */ |