- 09 Apr, 2015 9 commits
-
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
-
Alexis La Goutte authored
-
- 08 Apr, 2015 17 commits
-
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
Although posx_spawn is very convenient and useful, we have platform which don't have these functions (e.g., Android NDK r10d).
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
Since libev handles SIGCHLD, using waitpid in separate thread to wait for the completion of fetch-ocsp-response script process is undefined. This commit rewrite ocsp handling code so that it utilizes libev ev_child watcher and perform ocsp update without thread.
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
Previously we send RST_STREAM when we send DATA with END_STREAM flag set. With this commit, we also do this when we send HEADERS with END_STREAM flag set.
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
The bug was introduced by 8c3b379b.
-
- 07 Apr, 2015 2 commits
-
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
-
- 06 Apr, 2015 3 commits
-
-
Tatsuhiro Tsujikawa authored
The existing nghttp2_session_consume() affects both connection and stream level flow control windows. The new functions only affects either connection or stream. There is some interesting use cases. For example, we may want to pause a stream by not sending WINDOW_UPDATE, meanwhile we want to continue to process other streams. In this case, we use nghttp2_session_consume_connection() to tell library that only connection level window is recovered. The relevant discussion: https://code.google.com/p/chromium/issues/detail?id=473259
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
This is same issue described in https://github.com/h2o/h2o/issues/268. That is if SSL object has decrypted data buffered inside it, and application does not read it for some reason (e.g., rate limit), we have to check the existence of data using SSL_pending. This is because buffered data inside SSL is not notified by io watcher. It is obvious, but we totally missed it. nghttpx code normally reads everything until SSL_read returns error (want-read). But if rate limit is involved, we stop reading early. Also in HTTP/1 code, while processing one request, we just read until buffer is filled up. In these cases, we may suffer from this problem. This commit fixes this problem, by performing SSL_pending() and if it has buffered data and read io watcher is enabled, we feed event using ev_feed_event().
-
- 05 Apr, 2015 2 commits
-
-
Tatsuhiro Tsujikawa authored
The stream existence is guaranteed by library as of cc03a12b.
-
Tatsuhiro Tsujikawa authored
This is more inline with other callback function invocations where if stream was closed, they are not invoked.
-
- 04 Apr, 2015 1 commit
-
-
Tatsuhiro Tsujikawa authored
To avoid buffer copy in nghttp2_data_source_read_callback, this commit introduces NGHTTP2_DATA_FLAG_NO_COPY and nghttp2_send_data_callback. By using NGHTTP2_DATA_FLAG_NO_COPY in nghttp2_data_source_read_callback, application can avoid to copy application data to given buffer. Instead, application has to implement nghttp2_send_data_callback to send complete DATA frame by itself. We see noticeable performance increase in nghttpd and tiny-nghttpd using this new feature. On the other hand, nghttpx does not show such difference, probably because buffer copy is not bottleneck. Using nghttp2_send_data_callback adds complexity, so it is recommended to measure the performance to see whether this extra complexity worth it.
-
- 03 Apr, 2015 6 commits
-
-
Tatsuhiro Tsujikawa authored
-
-
Tatsuhiro Tsujikawa authored
-
-
Tatsuhiro Tsujikawa authored
-
Remo E authored
-