nghttp2/src
Tatsuhiro Tsujikawa c7304317d4 nghttpd: Check validity of cached file descriptor periodically
This commit adds ability to check status of cached file descriptor to
make sure that it can be reused.  We inspect last modification time
and number of hard links.  If last modification is changed from the
last validation time, or number of hard links gets 0, we don't reuse
file descriptor.  We also capped upper limit of the cached file
descriptors.  If the limit is reached, we will close file descriptor
which is least recently used, and its usecount is 0.
2015-11-21 16:05:08 +09:00
..
includes Switch to clang-format-3.6 2015-11-13 00:53:29 +09:00
.gitignore Refactor .gitignore files 2015-03-29 18:40:37 +09:00
HtmlParser.cc nghttp: Remove --dep-idle option 2015-04-17 22:24:06 +09:00
HtmlParser.h nghttp: Remove --dep-idle option 2015-04-17 22:24:06 +09:00
HttpServer.cc nghttpd: Check validity of cached file descriptor periodically 2015-11-21 16:05:08 +09:00
HttpServer.h nghttpd: Check validity of cached file descriptor periodically 2015-11-21 16:05:08 +09:00
Makefile.am nghttpx: Trie based routing 2015-09-26 22:19:10 +09:00
app_helper.cc src: Use user-defined literals for k, m, and g. 2015-06-21 14:32:47 +09:00
app_helper.h Merge branch 'master' into v1.0.0 2015-05-15 23:24:19 +09:00
asio_client_request.cc asio: Add client::request::write_trailer() 2015-03-07 23:04:31 +09:00
asio_client_request_impl.cc asio: Add client::request::write_trailer() 2015-03-07 23:04:31 +09:00
asio_client_request_impl.h asio: Add client::request::write_trailer() 2015-03-07 23:04:31 +09:00
asio_client_response.cc asio: Make impl() const 2015-03-05 02:12:31 +09:00
asio_client_response_impl.cc Use header_map instead of wrapping it 2015-03-05 02:12:31 +09:00
asio_client_response_impl.h asio: Separate client API to asio_http2_client.h 2015-03-05 02:12:31 +09:00
asio_client_session.cc asio: Add noexcept for move constructor and move assignment operator 2015-03-07 01:10:49 +09:00
asio_client_session_impl.cc asio: client: call on_error when connection is dropped 2015-11-19 00:04:10 +09:00
asio_client_session_impl.h src: Use user-defined literals for k, m, and g. 2015-06-21 14:32:47 +09:00
asio_client_session_tcp_impl.cc Switch to clang-format-3.6 2015-11-13 00:53:29 +09:00
asio_client_session_tcp_impl.h asio: Separate client API to asio_http2_client.h 2015-03-05 02:12:31 +09:00
asio_client_session_tls_impl.cc Switch to clang-format-3.6 2015-11-13 00:53:29 +09:00
asio_client_session_tls_impl.h asio: Separate client API to asio_http2_client.h 2015-03-05 02:12:31 +09:00
asio_client_stream.cc asio: Fix compile error with gcc 2015-03-06 02:05:01 +09:00
asio_client_stream.h asio: Fix compile error with gcc 2015-03-06 02:05:01 +09:00
asio_client_tls_context.cc asio: ALPN support 2015-11-07 22:53:25 +09:00
asio_client_tls_context.h asio: Separate client API to asio_http2_client.h 2015-03-05 02:12:31 +09:00
asio_common.cc Switch to clang-format-3.6 2015-11-13 00:53:29 +09:00
asio_common.h asio: ALPN support 2015-11-07 22:53:25 +09:00
asio_io_service_pool.cc clang-format 2015-04-24 00:17:13 +09:00
asio_io_service_pool.h Graceful shutdown and joinable server 2015-04-22 17:51:28 +08:00
asio_server.cc Switch to clang-format-3.6 2015-11-13 00:53:29 +09:00
asio_server.h Graceful shutdown and joinable server 2015-04-22 17:51:28 +08:00
asio_server_connection.h Switch to clang-format-3.6 2015-11-13 00:53:29 +09:00
asio_server_http2.cc clang-format 2015-04-24 00:17:13 +09:00
asio_server_http2_handler.cc Switch to clang-format-3.6 2015-11-13 00:53:29 +09:00
asio_server_http2_handler.h asio: Add server::response::write_trailer() 2015-03-07 19:26:42 +09:00
asio_server_http2_impl.cc clang-format 2015-04-24 00:17:13 +09:00
asio_server_http2_impl.h clang-format 2015-04-24 00:17:13 +09:00
asio_server_request.cc asio: Add dtor to API classes 2015-03-05 21:51:44 +09:00
asio_server_request_handler.cc asio: Rewrite response body handling if response body is not expected 2015-03-06 21:36:40 +09:00
asio_server_request_handler.h asio: Make redirect_handler and status_handler part of public API 2015-03-05 23:32:21 +09:00
asio_server_request_impl.cc asio: Move server classes to dedicated files 2015-03-05 21:42:48 +09:00
asio_server_request_impl.h asio: Move server classes to dedicated files 2015-03-05 21:42:48 +09:00
asio_server_response.cc asio: Add server::response::write_trailer() 2015-03-07 19:26:42 +09:00
asio_server_response_impl.cc asio: Add server::response::write_trailer() 2015-03-07 19:26:42 +09:00
asio_server_response_impl.h Fix compile error "chosen constructor is explicit in copy-initialization" 2015-03-14 15:54:55 +09:00
asio_server_serve_mux.cc asio: Fix path matching in server 2015-03-07 01:10:49 +09:00
asio_server_serve_mux.h asio: Add serve_mux class to route incoming requet by path 2015-03-05 02:12:32 +09:00
asio_server_stream.cc asio: Fix compile error with gcc 2015-03-06 02:05:01 +09:00
asio_server_stream.h asio: Fix compile error with gcc 2015-03-06 02:05:01 +09:00
asio_server_tls_context.cc asio: ALPN support 2015-11-07 22:53:25 +09:00
asio_server_tls_context.h asio: Clean up server API to explicitly set error code 2015-03-07 01:10:49 +09:00
base64.h Reformat lines with clang-format-3.5 2014-11-27 23:56:30 +09:00
buffer.h nghttpx: Add shared session cache using memcached 2015-07-26 23:33:06 +09:00
buffer_test.cc src: Remove ringbuf.h, use buffer.h instead 2015-02-06 23:40:34 +09:00
buffer_test.h Check more headers and funcs 2015-05-13 23:29:20 +09:00
comp_helper.c Use -fvisibility=hidden for internal functions 2015-10-23 00:08:15 +09:00
comp_helper.h Use -fvisibility=hidden for internal functions 2015-10-23 00:08:15 +09:00
deflatehd.cc Use -fvisibility=hidden for internal functions 2015-10-23 00:08:15 +09:00
h2load.cc h2load: Override user-agent with -H option 2015-11-18 22:25:02 +09:00
h2load.h h2load: Print "space savings" to measure header compression efficiency 2015-11-04 01:04:56 +09:00
h2load_http1_session.cc h2load: Print "space savings" to measure header compression efficiency 2015-11-04 01:04:56 +09:00
h2load_http1_session.h h2load: Handle request submission failure 2015-10-29 22:31:03 +09:00
h2load_http2_session.cc h2load: Print "space savings" to measure header compression efficiency 2015-11-04 01:04:56 +09:00
h2load_http2_session.h h2load: Handle request submission failure 2015-10-29 22:31:03 +09:00
h2load_session.h h2load: Handle request submission failure 2015-10-29 22:31:03 +09:00
h2load_spdy_session.cc h2load: Print "space savings" to measure header compression efficiency 2015-11-04 01:04:56 +09:00
h2load_spdy_session.h h2load: Handle request submission failure 2015-10-29 22:31:03 +09:00
http-parser.patch Add patch for http-parser to handle tunneling connection transparently 2012-12-20 01:05:51 +09:00
http2.cc nghttpx: Use NGHTTP2_NV_FLAG_NO_COPY_NAME and NGHTTP2_NV_FLAG_NO_COPY_VALUE 2015-11-05 23:47:11 +09:00
http2.h Switch to clang-format-3.6 2015-11-13 00:53:29 +09:00
http2_test.cc nghttpx: Use NGHTTP2_NV_FLAG_NO_COPY_NAME and NGHTTP2_NV_FLAG_NO_COPY_VALUE 2015-11-05 23:47:11 +09:00
http2_test.h nghttpx: Add Request#push in mruby scripting 2015-09-06 00:05:07 +09:00
inflatehd.cc Use -fvisibility=hidden for internal functions 2015-10-23 00:08:15 +09:00
libevent_util.cc Reformat lines with clang-format-3.5 2014-11-27 23:56:30 +09:00
libevent_util.h Reformat lines with clang-format-3.5 2014-11-27 23:56:30 +09:00
libnghttp2_asio.pc.in Add C++ library libnghttp2_asio on top of libnghttp2 2014-09-24 00:45:40 +09:00
memchunk.h Switch to clang-format-3.6 2015-11-13 00:53:29 +09:00
memchunk_test.cc Switch to clang-format-3.6 2015-11-13 00:53:29 +09:00
memchunk_test.h nghttpx: Rewrite TLS async handshake using memchunk buffers 2015-08-13 00:42:59 +09:00
nghttp.cc Switch to clang-format-3.6 2015-11-13 00:53:29 +09:00
nghttp.h nghttp: Record request method to output it in har correctly 2015-11-07 16:13:06 +09:00
nghttp2_config.h Remove monotonic_clock replacement macro for gcc-4.6 2015-07-29 21:19:33 +09:00
nghttp2_gzip.c Reformat lines with clang-format-3.5 2014-11-27 23:56:30 +09:00
nghttp2_gzip.h Reformat lines with clang-format-3.5 2014-11-27 23:56:30 +09:00
nghttp2_gzip_test.c More warning flags for --enable-werror 2015-09-23 16:49:45 +09:00
nghttp2_gzip_test.h Check more headers and funcs 2015-05-13 23:29:20 +09:00
nghttpd.cc nghttpd: Don't show read error if mime types file is not set by user manually 2015-10-29 23:08:52 +09:00
shrpx-unittest.cc Compile with BoringSSL 2015-09-29 23:38:17 +09:00
shrpx.cc nghttpx: Support server push from HTTP/2 backend 2015-11-16 23:12:25 +09:00
shrpx.h nghttpx: Use _Exit when exiting from child process 2015-09-24 23:57:24 +09:00
shrpx_accept_handler.cc Check more headers and funcs 2015-05-13 23:29:20 +09:00
shrpx_accept_handler.h nghttpx: Rename ListenHandler as ConnectionHandler 2015-01-08 21:48:39 +09:00
shrpx_client_handler.cc Add TLS dynamic record size behaviour command line options 2015-10-22 14:07:18 +00:00
shrpx_client_handler.h nghttpx: Refactor client handler write 2015-10-03 11:09:42 +09:00
shrpx_config.cc nghttpx: Use NGHTTP2_NV_FLAG_NO_COPY_NAME and NGHTTP2_NV_FLAG_NO_COPY_VALUE 2015-11-05 23:47:11 +09:00
shrpx_config.h Add TLS dynamic record size behaviour command line options 2015-10-22 14:07:18 +00:00
shrpx_config_test.cc nghttpx: Log :authority as $http_host if available 2015-10-28 23:12:16 +09:00
shrpx_config_test.h Initial HTTP/1.1 capability. Add npn-list option to h2load. Make NPN/ALPN more runtime dependent 2015-09-17 14:49:27 +00:00
shrpx_connect_blocker.cc nghttpx: Don't call ev_TYPE_set macro while watcher is active 2015-01-21 21:43:49 +09:00
shrpx_connect_blocker.h src: Use libev for rest of the applications 2015-01-03 00:19:41 +09:00
shrpx_connection.cc clang-format-3.5 2015-10-25 17:04:54 +09:00
shrpx_connection.h Add TLS dynamic record size behaviour command line options 2015-10-22 14:07:18 +00:00
shrpx_connection_handler.cc Switch to clang-format-3.6 2015-11-13 00:53:29 +09:00
shrpx_connection_handler.h nghttpx: Don't stop default loop of worker process on graceful shutdown 2015-09-29 00:40:33 +09:00
shrpx_downstream.cc nghttpx: Reserve headers vector 2015-11-05 23:47:22 +09:00
shrpx_downstream.h nghttpx: Use NGHTTP2_NV_FLAG_NO_COPY_NAME and NGHTTP2_NV_FLAG_NO_COPY_VALUE 2015-11-05 23:47:11 +09:00
shrpx_downstream_connection.cc Reformat lines with clang-format-3.5 2014-11-27 23:56:30 +09:00
shrpx_downstream_connection.h Select backend based on request host and path by extending -b option 2015-07-11 00:15:52 +09:00
shrpx_downstream_connection_pool.cc Select backend based on request host and path by extending -b option 2015-07-11 00:15:52 +09:00
shrpx_downstream_connection_pool.h Select backend based on request host and path by extending -b option 2015-07-11 00:15:52 +09:00
shrpx_downstream_queue.cc nghttpx: Support server push from HTTP/2 backend 2015-11-16 23:12:25 +09:00
shrpx_downstream_queue.h nghttpx: Support server push from HTTP/2 backend 2015-11-16 23:12:25 +09:00
shrpx_downstream_test.cc Switch to clang-format-3.6 2015-11-13 00:53:29 +09:00
shrpx_downstream_test.h Check more headers and funcs 2015-05-13 23:29:20 +09:00
shrpx_error.h nghttpx: Add response mruby hook 2015-09-03 01:33:52 +09:00
shrpx_http.cc src: Add missing dquote in HTML 2015-03-05 23:34:42 +09:00
shrpx_http.h Reformat lines with clang-format-3.5 2014-11-27 23:56:30 +09:00
shrpx_http2_downstream_connection.cc nghttpx: Use NGHTTP2_NV_FLAG_NO_COPY_NAME and NGHTTP2_NV_FLAG_NO_COPY_VALUE 2015-11-05 23:47:11 +09:00
shrpx_http2_downstream_connection.h nghttpx: Enable host-path backend routing in HTTP/2 backend 2015-07-12 23:02:30 +09:00
shrpx_http2_session.cc nghttpx: Support server push from HTTP/2 backend 2015-11-16 23:12:25 +09:00
shrpx_http2_session.h nghttpx: Support server push from HTTP/2 backend 2015-11-16 23:12:25 +09:00
shrpx_http2_upstream.cc nghttpx: Support server push from HTTP/2 backend 2015-11-16 23:12:25 +09:00
shrpx_http2_upstream.h nghttpx: Support server push from HTTP/2 backend 2015-11-16 23:12:25 +09:00
shrpx_http_downstream_connection.cc nghttpx: Use ev_feed_event to signal write for HTTP backend 2015-10-28 23:26:41 +09:00
shrpx_http_downstream_connection.h Select backend based on request host and path by extending -b option 2015-07-11 00:15:52 +09:00
shrpx_https_upstream.cc nghttpx: Support server push from HTTP/2 backend 2015-11-16 23:12:25 +09:00
shrpx_https_upstream.h nghttpx: Support server push from HTTP/2 backend 2015-11-16 23:12:25 +09:00
shrpx_io_control.cc nghttpx: Remove unused IOControl::set_lim 2015-01-03 00:19:41 +09:00
shrpx_io_control.h nghttpx: Remove unused IOControl::set_lim 2015-01-03 00:19:41 +09:00
shrpx_log.cc Switch to clang-format-3.6 2015-11-13 00:53:29 +09:00
shrpx_log.h nghttpx: Log :authority as $http_host if available 2015-10-28 23:12:16 +09:00
shrpx_log_config.cc Switch to clang-format-3.6 2015-11-13 00:53:29 +09:00
shrpx_log_config.h nghttpx: Add date header field to error_reply and send_reply 2015-09-07 23:11:23 +09:00
shrpx_memcached_connection.cc Add TLS dynamic record size behaviour command line options 2015-10-22 14:07:18 +00:00
shrpx_memcached_connection.h nghttpx: Create struct Address which holds struct sockaddr_union and length 2015-07-27 01:41:10 +09:00
shrpx_memcached_dispatcher.cc nghttpx: Create struct Address which holds struct sockaddr_union and length 2015-07-27 01:41:10 +09:00
shrpx_memcached_dispatcher.h nghttpx: Create struct Address which holds struct sockaddr_union and length 2015-07-27 01:41:10 +09:00
shrpx_memcached_request.h nghttpx: Add shared session cache using memcached 2015-07-26 23:33:06 +09:00
shrpx_memcached_result.h nghttpx: Add TLS ticket key sharing among nghttpx instances using memcached 2015-07-28 00:54:44 +09:00
shrpx_mruby.cc nghttpx: Change mruby script handling 2015-10-08 23:32:15 +09:00
shrpx_mruby.h nghttpx: Change mruby script handling 2015-10-08 23:32:15 +09:00
shrpx_mruby_module.cc nghttpx: Change mruby script handling 2015-10-08 23:32:15 +09:00
shrpx_mruby_module.h nghttpx: Change mruby script handling 2015-10-08 23:32:15 +09:00
shrpx_mruby_module_env.cc nghttpx: Remove unused includes 2015-09-05 01:12:51 +09:00
shrpx_mruby_module_env.h nghttpx: Rewrite API; introduce Env object 2015-09-05 00:53:42 +09:00
shrpx_mruby_module_request.cc nghttpx: Add Request#push in mruby scripting 2015-09-06 00:05:07 +09:00
shrpx_mruby_module_request.h nghttpx: Split up request class definition to dedicated files 2015-09-02 22:38:57 +09:00
shrpx_mruby_module_response.cc nghttpx: Add date header field to error_reply and send_reply 2015-09-07 23:11:23 +09:00
shrpx_mruby_module_response.h nghttpx: Add Response mruby object 2015-09-03 00:40:14 +09:00
shrpx_process.h nghttpx: Fix improper signal handling 2015-09-24 23:43:24 +09:00
shrpx_rate_limit.cc nghttpx: Rewrite TLS async handshake using memchunk buffers 2015-08-13 00:42:59 +09:00
shrpx_rate_limit.h nghttpx: Rewrite TLS async handshake using memchunk buffers 2015-08-13 00:42:59 +09:00
shrpx_router.cc Fix gcc build 2015-09-27 00:51:32 +09:00
shrpx_router.h nghttpx: Trie based routing 2015-09-26 22:19:10 +09:00
shrpx_signal.cc nghttpx: Add error handling for strdup and sigaction 2015-10-16 22:33:48 +09:00
shrpx_signal.h nghttpx: Fix improper signal handling 2015-09-24 23:43:24 +09:00
shrpx_spdy_upstream.cc nghttpx: Support server push from HTTP/2 backend 2015-11-16 23:12:25 +09:00
shrpx_spdy_upstream.h nghttpx: Support server push from HTTP/2 backend 2015-11-16 23:12:25 +09:00
shrpx_ssl.cc Switch to clang-format-3.6 2015-11-13 00:53:29 +09:00
shrpx_ssl.h nghttpx: Enable neverbleed for client private key; don't run nb without TLS 2015-09-26 21:28:46 +09:00
shrpx_ssl_test.cc Switch to clang-format-3.6 2015-11-13 00:53:29 +09:00
shrpx_ssl_test.h Check more headers and funcs 2015-05-13 23:29:20 +09:00
shrpx_upstream.h nghttpx: Support server push from HTTP/2 backend 2015-11-16 23:12:25 +09:00
shrpx_worker.cc nghttpx: Change mruby script handling 2015-10-08 23:32:15 +09:00
shrpx_worker.h nghttpx: Detect mruby presence and guard mruby related code with ifdef 2015-09-04 00:54:41 +09:00
shrpx_worker_process.cc nghttpx: Don't stop default loop of worker process on graceful shutdown 2015-09-29 00:40:33 +09:00
shrpx_worker_process.h nghttpx: Split monolithic one process into control and worker processes 2015-09-18 23:28:26 +09:00
ssl.cc src: Call OpenSSL_add_all_algorithms to attempt to set up cpuid explicitly 2015-10-08 22:50:51 +09:00
ssl.h Compile with BoringSSL 2015-09-29 23:38:17 +09:00
template.h Switch to clang-format-3.6 2015-11-13 00:53:29 +09:00
timegm.c Fix build error with Android NDK 2015-07-30 22:57:25 +09:00
timegm.h src: Don't use struct tm.tm_yday from strptime 2015-07-19 17:14:25 +09:00
util.cc Switch to clang-format-3.6 2015-11-13 00:53:29 +09:00
util.h Switch to clang-format-3.6 2015-11-13 00:53:29 +09:00
util_test.cc Initial HTTP/1.1 capability. Add npn-list option to h2load. Make NPN/ALPN more runtime dependent 2015-09-17 14:49:27 +00:00
util_test.h Initial HTTP/1.1 capability. Add npn-list option to h2load. Make NPN/ALPN more runtime dependent 2015-09-17 14:49:27 +00:00