nghttp2/src
Tatsuhiro Tsujikawa 39d9efe4bd nghttpx: Randomize backend address backend robin order per thread (2nd Ed.)
This is the 2nd attempt to randomize backend address round robin
order.

The initial attempt of doing this was
fdcdb21c38, which has been reverted via
470f06e5f6 because it broke the session
affinity.

This time, we shuffles seq fields and avoid reordering addrs vector.
2022-08-04 18:38:23 +09:00
..
includes docs: asio: fix some typos 2021-01-15 00:39:39 +01:00
.gitignore
CMakeLists.txt cmake: Build bpf 2021-08-31 17:15:37 +09:00
HtmlParser.cc clang-format 2017-02-04 11:29:10 +09:00
HtmlParser.h Enable IndentPPDirectives 2018-06-09 16:21:30 +09:00
HttpServer.cc Add SETTINGS_NO_RFC7540_PRIORITIES 2022-06-11 16:50:07 +09:00
HttpServer.h Add SETTINGS_NO_RFC7540_PRIORITIES 2022-06-11 16:50:07 +09:00
Makefile.am src: Enable HTTP/3 with boringssl 2021-10-15 22:50:34 +09:00
allocator.h Make concat_string_ref_count constexpr 2022-06-23 00:00:16 +09:00
app_helper.cc Add PRIORITY_UPDATE frame support 2022-06-13 20:04:30 +09:00
app_helper.h Enable IndentPPDirectives 2018-06-09 16:21:30 +09:00
asio_client_request.cc Use std::make_unique 2018-10-15 23:02:44 +09:00
asio_client_request_impl.cc
asio_client_request_impl.h
asio_client_response.cc Use std::make_unique 2018-10-15 23:02:44 +09:00
asio_client_response_impl.cc
asio_client_response_impl.h
asio_client_session.cc priority_spec::valid(): remove const qualifier from return value 2019-10-29 11:28:26 +01:00
asio_client_session_impl.cc Use std::make_unique 2018-10-15 23:02:44 +09:00
asio_client_session_impl.h Support specifying stream priority via session::submit() 2017-04-12 10:07:16 -04:00
asio_client_session_tcp_impl.cc clang-format 2018-08-27 21:34:18 +09:00
asio_client_session_tcp_impl.h support definition of local endpoint for cleartext client session 2018-08-02 16:18:23 +09:00
asio_client_session_tls_impl.cc asio: Support client side SNI 2018-05-03 20:29:16 +09:00
asio_client_session_tls_impl.h clang-format-3.9 2016-10-15 18:36:04 +09:00
asio_client_stream.cc
asio_client_stream.h
asio_client_tls_context.cc Fix compile error with -Wunused-function 2018-04-03 21:33:09 +09:00
asio_client_tls_context.h
asio_common.cc clang-format-12 2021-08-04 15:04:58 +09:00
asio_common.h
asio_io_service_pool.cc More graceful stop of nghttp2::asio_http2::server::http2 2017-02-09 23:34:19 -05:00
asio_io_service_pool.h More graceful stop of nghttp2::asio_http2::server::http2 2017-02-09 23:34:19 -05:00
asio_server.cc added access to the number of the current server port 2018-11-23 10:56:21 +09:00
asio_server.h added access to the number of the current server port 2018-11-23 10:56:21 +09:00
asio_server_connection.h clang-format-12 2021-08-04 15:04:58 +09:00
asio_server_http2.cc added access to the number of the current server port 2018-11-23 10:56:21 +09:00
asio_server_http2_handler.cc Use std::make_unique 2018-10-15 23:02:44 +09:00
asio_server_http2_handler.h clang-format-5.0 2017-11-23 14:19:12 +09:00
asio_server_http2_impl.cc added access to the number of the current server port 2018-11-23 10:56:21 +09:00
asio_server_http2_impl.h added access to the number of the current server port 2018-11-23 10:56:21 +09:00
asio_server_request.cc Use std::make_unique 2018-10-15 23:02:44 +09:00
asio_server_request_handler.cc src: Add missing mandatory SP after status code 2016-11-04 02:19:37 +09:00
asio_server_request_handler.h
asio_server_request_impl.cc
asio_server_request_impl.h
asio_server_response.cc Use std::make_unique 2018-10-15 23:02:44 +09:00
asio_server_response_impl.cc
asio_server_response_impl.h
asio_server_serve_mux.cc
asio_server_serve_mux.h
asio_server_stream.cc
asio_server_stream.h
asio_server_tls_context.cc Fix compile error with -Wunused-function 2018-04-03 21:33:09 +09:00
asio_server_tls_context.h
base64.h nghttpx: Implement RFC 8441 Bootstrapping WebSocket with HTTP/2 2018-09-29 11:35:41 +09:00
base64_test.cc nghtpx: Add BlockAllocator version of base64 2016-10-02 22:28:43 +09:00
base64_test.h Enable IndentPPDirectives 2018-06-09 16:21:30 +09:00
buffer.h
buffer_test.cc
buffer_test.h Enable IndentPPDirectives 2018-06-09 16:21:30 +09:00
ca-config.json
ca.nghttp2.org-key.pem
ca.nghttp2.org.csr
ca.nghttp2.org.csr.json
ca.nghttp2.org.pem
comp_helper.c
comp_helper.h Enable IndentPPDirectives 2018-06-09 16:21:30 +09:00
deflatehd.cc Enable IndentPPDirectives 2018-06-09 16:21:30 +09:00
h2load.cc errno should be used to evaluate error code 2022-06-23 00:00:16 +09:00
h2load.h Bump ngtcp2 and nghttp3 2022-06-20 21:52:19 +09:00
h2load_http1_session.cc Fix llhttp_get_error_pos usage 2019-04-21 00:07:11 +09:00
h2load_http1_session.h Replace http-parser with llhttp 2019-04-20 18:42:30 +09:00
h2load_http2_session.cc allow setting max frame size for h2load 2021-11-14 16:43:01 +09:00
h2load_http2_session.h
h2load_http3_session.cc h2load: Implement nghttp3 reset_stream callback 2022-07-26 17:05:13 +09:00
h2load_http3_session.h h2load: Implement nghttp3 reset_stream callback 2022-07-26 17:05:13 +09:00
h2load_quic.cc Ignore nghttp3 errors which can be ignored 2022-07-25 23:09:33 +09:00
h2load_quic.h [WIP] Add QUIC to h2load 2021-08-21 18:33:38 +09:00
h2load_session.h
http-parser.patch
http2.cc Add nghttp2_check_header_value_rfc9113 2022-06-24 19:44:13 +09:00
http2.h Add nghttp2_check_header_value_rfc9113 2022-06-24 19:44:13 +09:00
http2_test.cc Fix typos 2022-01-16 21:53:44 +09:00
http2_test.h Enable IndentPPDirectives 2018-06-09 16:21:30 +09:00
http3.cc nghttpx: Do not dump HTTP/3 header fields 2021-08-27 18:35:27 +09:00
http3.h nghttpx: Do not dump HTTP/3 header fields 2021-08-27 18:35:27 +09:00
inflatehd.cc Use nullptr for C++ code 2022-02-10 18:56:19 +09:00
libevent_util.cc
libevent_util.h
libnghttp2_asio.pc.in
memchunk.h nghttpx: Complete HTTP request and response 2021-08-21 18:34:08 +09:00
memchunk_test.cc src: Remove extra braces if possible 2018-10-15 23:46:33 +09:00
memchunk_test.h Enable IndentPPDirectives 2018-06-09 16:21:30 +09:00
network.h Enable IndentPPDirectives 2018-06-09 16:21:30 +09:00
nghttp.cc Add SETTINGS_NO_RFC7540_PRIORITIES 2022-06-11 16:50:07 +09:00
nghttp.h Add SETTINGS_NO_RFC7540_PRIORITIES 2022-06-11 16:50:07 +09:00
nghttp2_config.h Enable IndentPPDirectives 2018-06-09 16:21:30 +09:00
nghttp2_gzip.c nghttp2_gzip: fix this statement may fall through [-Werror=implicit-fallthrough=] found by gcc7 2017-02-27 21:38:55 +01:00
nghttp2_gzip.h Enable IndentPPDirectives 2018-06-09 16:21:30 +09:00
nghttp2_gzip_test.c Compile with --disable-assert 2017-05-18 23:10:44 +09:00
nghttp2_gzip_test.h Enable IndentPPDirectives 2018-06-09 16:21:30 +09:00
nghttpd.cc Add SETTINGS_NO_RFC7540_PRIORITIES 2022-06-11 16:50:07 +09:00
quic.cc nghttpx: Use existing QUIC error object 2021-08-21 18:34:07 +09:00
quic.h nghttpx: Use existing QUIC error object 2021-08-21 18:34:07 +09:00
shrpx-unittest.cc nghttpx: Remove trailing white spaces from HTTP/1.1 fields 2022-06-25 11:09:35 +09:00
shrpx.cc nghttpx: Disable RFC 7540 priorities 2022-06-15 23:43:03 +09:00
shrpx.h Provide enum bpf_stats_type if not defined in linux/bpf.h for older kernel 2021-08-29 14:30:59 +09:00
shrpx_accept_handler.cc Enable IndentPPDirectives 2018-06-09 16:21:30 +09:00
shrpx_accept_handler.h
shrpx_api_downstream_connection.cc Fix typos 2022-01-16 21:53:44 +09:00
shrpx_api_downstream_connection.h Fix typos 2022-01-16 21:53:44 +09:00
shrpx_client_handler.cc nghttpx: Fix broken PROXY-protocol 2022-07-04 21:21:02 +09:00
shrpx_client_handler.h nghttpx: Fix broken PROXY-protocol 2022-07-04 21:21:02 +09:00
shrpx_config.cc Add nghttp2_check_header_value_rfc9113 2022-06-24 19:44:13 +09:00
shrpx_config.h nghttp, nghttpd, nghttpx: Add ktls support 2022-05-07 18:53:59 +09:00
shrpx_config_test.cc nghttpx: Convert LogFragmentType to enum class 2018-11-02 14:14:48 +09:00
shrpx_config_test.h Enable IndentPPDirectives 2018-06-09 16:21:30 +09:00
shrpx_connect_blocker.cc nghttpx: Backend address selection with weight 2019-01-21 22:23:19 +09:00
shrpx_connect_blocker.h clang-format-5.0 2017-11-23 14:19:12 +09:00
shrpx_connection.cc nghttpx: Fix broken PROXY-protocol 2022-07-04 21:21:02 +09:00
shrpx_connection.h nghttpx: Fix broken PROXY-protocol 2022-07-04 21:21:02 +09:00
shrpx_connection_handler.cc Bump libbpf to v0.6.1 2022-02-09 19:03:13 +09:00
shrpx_connection_handler.h Fix typos 2022-01-16 21:53:44 +09:00
shrpx_dns_resolver.cc nghttpx: Convert DNSResolverStatus to enum class 2018-10-17 14:19:58 +09:00
shrpx_dns_resolver.h Fix typos 2022-01-16 21:53:44 +09:00
shrpx_dns_tracker.cc nghttpx: Convert DNSResolverStatus to enum class 2018-10-17 14:19:58 +09:00
shrpx_dns_tracker.h nghttpx: Convert DNSResolverStatus to enum class 2018-10-17 14:19:58 +09:00
shrpx_downstream.cc nghttpx: Enable websocket over h3 2021-09-11 17:56:25 +09:00
shrpx_downstream.h nghttpx: Remove trailing white spaces from HTTP/1.1 fields 2022-06-25 11:09:35 +09:00
shrpx_downstream_connection.cc nghttpx: Fix bug that old config is used during reloading config 2017-02-16 22:46:22 +09:00
shrpx_downstream_connection.h Fix typos 2022-01-16 21:53:44 +09:00
shrpx_downstream_connection_pool.cc
shrpx_downstream_connection_pool.h
shrpx_downstream_queue.cc nghttpx: Convert dispatch state to enum class 2018-10-17 14:19:58 +09:00
shrpx_downstream_queue.h nghttpx: Cleanup 2018-11-02 15:16:36 +09:00
shrpx_downstream_test.cc nghttpx: Enable websocket over h3 2021-09-11 17:56:25 +09:00
shrpx_downstream_test.h Enable IndentPPDirectives 2018-06-09 16:21:30 +09:00
shrpx_dual_dns_resolver.cc nghttpx: Convert DNSResolverStatus to enum class 2018-10-17 14:19:58 +09:00
shrpx_dual_dns_resolver.h nghttpx: Convert DNSResolverStatus to enum class 2018-10-17 14:19:58 +09:00
shrpx_error.h nghttpx: Handle EAGAIN/EWOULDBLOCK from sendmsg 2022-02-03 22:20:58 +09:00
shrpx_exec.cc src: Add static to constexpr char[] 2017-09-20 23:54:10 +09:00
shrpx_exec.h nghttpx: Refactor ocsp command execution 2016-10-08 15:22:11 +09:00
shrpx_health_monitor_downstream_connection.cc clang-format 2022-01-23 22:30:46 +09:00
shrpx_health_monitor_downstream_connection.h Fix typos 2022-01-16 21:53:44 +09:00
shrpx_http.cc nghttpx: Add --require-http-scheme option 2022-02-12 11:39:52 +09:00
shrpx_http.h nghttpx: Add --require-http-scheme option 2022-02-12 11:39:52 +09:00
shrpx_http2_downstream_connection.cc Replace http-parser with llhttp 2019-04-20 18:42:30 +09:00
shrpx_http2_downstream_connection.h Fix typos 2022-01-16 21:53:44 +09:00
shrpx_http2_session.cc nghttpx: Disable RFC 7540 priorities 2022-06-15 23:43:03 +09:00
shrpx_http2_session.h Replace http-parser with llhttp 2019-04-20 18:42:30 +09:00
shrpx_http2_upstream.cc nghttpx: Disable RFC 7540 priorities 2022-06-15 23:43:03 +09:00
shrpx_http2_upstream.h nghttpx: Add --frontend-max-requests option 2017-02-20 23:36:50 +09:00
shrpx_http3_upstream.cc Ignore nghttp3 errors which can be ignored 2022-07-25 23:09:33 +09:00
shrpx_http3_upstream.h Bump ngtcp2 and nghttp3 2022-06-20 21:52:19 +09:00
shrpx_http_downstream_connection.cc nghttpx: Remove trailing white spaces from HTTP/1.1 fields 2022-06-25 11:09:35 +09:00
shrpx_http_downstream_connection.h Replace http-parser with llhttp 2019-04-20 18:42:30 +09:00
shrpx_http_test.cc nghttpx: Add --require-http-scheme option 2022-02-12 11:39:52 +09:00
shrpx_http_test.h nghttpx: Add --require-http-scheme option 2022-02-12 11:39:52 +09:00
shrpx_https_upstream.cc nghttpx: Remove trailing white spaces from HTTP/1.1 fields 2022-06-25 11:09:35 +09:00
shrpx_https_upstream.h Replace http-parser with llhttp 2019-04-20 18:42:30 +09:00
shrpx_io_control.cc
shrpx_io_control.h nghttpx: Fix travis gcc compile error 2017-02-17 00:42:25 +09:00
shrpx_live_check.cc nghttpx: Convert DNSResolverStatus to enum class 2018-10-17 14:19:58 +09:00
shrpx_live_check.h nghttpx: Lookup backend host name dynamically 2016-12-10 21:09:50 +09:00
shrpx_log.cc Use nullptr for C++ code 2022-02-10 18:56:19 +09:00
shrpx_log.h nghttpx: Add accesslog variables to record request path without query 2020-09-19 23:58:37 +09:00
shrpx_log_config.cc Use nullptr for C++ code 2022-02-10 18:56:19 +09:00
shrpx_log_config.h nghttpx: Update log time stamp in millisecond interval 2017-02-17 00:18:07 +09:00
shrpx_memcached_connection.cc nghttpx: Fix crash when ConnectionHandler is deleted while doing memcached request 2021-08-29 17:17:36 +09:00
shrpx_memcached_connection.h nghttpx: Convert MemcachedStatusCode to enum class 2018-11-02 14:14:48 +09:00
shrpx_memcached_dispatcher.cc Use std::make_unique 2018-10-15 23:02:44 +09:00
shrpx_memcached_dispatcher.h nghttpx: Fix bug that old config is used during reloading config 2017-02-16 22:46:22 +09:00
shrpx_memcached_request.h nghttpx: Convert memcached op to enum class 2018-11-02 14:14:48 +09:00
shrpx_memcached_result.h nghttpx: Convert MemcachedStatusCode to enum class 2018-11-02 14:14:48 +09:00
shrpx_mruby.cc Compile with -DNDEBUG 2021-10-06 21:28:00 +09:00
shrpx_mruby.h nghttpx: Fix bug that old config is used during reloading config 2017-02-16 22:46:22 +09:00
shrpx_mruby_module.cc
shrpx_mruby_module.h
shrpx_mruby_module_env.cc Compile with OPENSSL_NO_DEPRECATED and fix memory leaks 2021-10-17 17:12:14 +09:00
shrpx_mruby_module_env.h nghttpx: Fix bug that old config is used during reloading config 2017-02-16 22:46:22 +09:00
shrpx_mruby_module_request.cc Update mruby 1.4.1 2018-09-16 22:54:09 +09:00
shrpx_mruby_module_request.h nghttpx: Fix bug that old config is used during reloading config 2017-02-16 22:46:22 +09:00
shrpx_mruby_module_response.cc nghttpx: Write mruby send_info early 2018-11-15 10:17:47 +09:00
shrpx_mruby_module_response.h nghttpx: Fix bug that old config is used during reloading config 2017-02-16 22:46:22 +09:00
shrpx_null_downstream_connection.cc Fix typos 2022-01-16 21:53:44 +09:00
shrpx_null_downstream_connection.h Fix typos 2022-01-16 21:53:44 +09:00
shrpx_process.h nghttpx: Unload BPF program after setting up all QUIC listeners 2021-10-04 22:39:31 +09:00
shrpx_quic.cc Bump ngtcp2 and nghttp3 2022-04-25 22:52:21 +09:00
shrpx_quic.h Bump ngtcp2 and nghttp3 2022-04-25 22:52:21 +09:00
shrpx_quic_connection_handler.cc Bump ngtcp2 and nghttp3 2022-04-25 22:52:21 +09:00
shrpx_quic_connection_handler.h nghttpx: Limit CONNECTION_CLOSE and Retry under server amplification limit 2022-03-12 19:48:31 +09:00
shrpx_quic_listener.cc nghttpx: Receive ECN 2021-11-05 20:57:24 +09:00
shrpx_quic_listener.h nghttpx: Add QUICListener 2021-08-21 18:33:39 +09:00
shrpx_rate_limit.cc Amend f1d8547b29 2020-07-14 19:47:08 +09:00
shrpx_rate_limit.h
shrpx_router.cc nghttpx: Fix broken trailing slash handling 2018-12-09 17:07:28 +09:00
shrpx_router.h nghttpx: Wildcard path matching 2017-05-11 22:15:28 +09:00
shrpx_router_test.cc nghttpx: Fix broken trailing slash handling 2018-12-09 17:07:28 +09:00
shrpx_router_test.h Enable IndentPPDirectives 2018-06-09 16:21:30 +09:00
shrpx_signal.cc Replace master with main 2021-04-02 22:08:19 +09:00
shrpx_signal.h Replace master with main 2021-04-02 22:08:19 +09:00
shrpx_tls.cc Bump ngtcp2 and nghttp3 2022-06-20 21:52:19 +09:00
shrpx_tls.h Build without HTTP/3 support 2021-08-22 23:54:29 +09:00
shrpx_tls_test.cc Replace TLSv23_method with TLS_method 2021-10-17 17:21:09 +09:00
shrpx_tls_test.h Enable IndentPPDirectives 2018-06-09 16:21:30 +09:00
shrpx_upstream.h nghttpx: Redirect to HTTPS URI with redirect-if-not-tls param 2017-02-18 22:32:27 +09:00
shrpx_worker.cc nghttpx: Randomize backend address backend robin order per thread (2nd Ed.) 2022-08-04 18:38:23 +09:00
shrpx_worker.h nghttpx: Add affinity-cookie-stickiness backend parameter 2022-03-20 11:30:32 +09:00
shrpx_worker_process.cc Fix compile error 2021-10-04 23:23:03 +09:00
shrpx_worker_process.h nghttpx: Forward QUIC UDP datagram to lingering worker in graceful shutdown 2021-08-29 18:35:41 +09:00
shrpx_worker_test.cc Enable IndentPPDirectives 2018-06-09 16:21:30 +09:00
shrpx_worker_test.h Enable IndentPPDirectives 2018-06-09 16:21:30 +09:00
ssl_compat.h Compile with libressl >= 3.5 2022-06-08 19:58:12 +09:00
template.h clang-format-12 2021-08-04 15:04:58 +09:00
template_test.cc Make ImmutableString(const char*) explicit 2016-08-26 22:40:59 +09:00
template_test.h Enable IndentPPDirectives 2018-06-09 16:21:30 +09:00
test.example.com-key.pem
test.example.com.csr
test.example.com.csr.json
test.example.com.pem
test.nghttp2.org-key.pem
test.nghttp2.org.csr
test.nghttp2.org.csr.json
test.nghttp2.org.pem
timegm.c
timegm.h Enable IndentPPDirectives 2018-06-09 16:21:30 +09:00
tls.cc Replace black-list with block-list 2021-04-02 22:35:37 +09:00
tls.h Update default TLS cipher suites 2022-06-20 00:32:43 +09:00
util.cc nghttpx: Remove trailing white spaces from HTTP/1.1 fields 2022-06-25 11:09:35 +09:00
util.h nghttpx: Randomize backend address backend robin order per thread (2nd Ed.) 2022-08-04 18:38:23 +09:00
util_test.cc nghttpx: Remove trailing white spaces from HTTP/1.1 fields 2022-06-25 11:09:35 +09:00
util_test.h nghttpx: Remove trailing white spaces from HTTP/1.1 fields 2022-06-25 11:09:35 +09:00
xsi_strerror.c Enable IndentPPDirectives 2018-06-09 16:21:30 +09:00
xsi_strerror.h Enable IndentPPDirectives 2018-06-09 16:21:30 +09:00