- 28 Apr, 2015 2 commits
-
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
-
- 27 Apr, 2015 7 commits
-
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
Previously h2load used default flow control window as described in HTTP/2 and SPDY specification. The window size is 64KiB, which is a bit small, and cannot utilize full server performance when response size is not too small. Basically, we do this kind of benchmarking test to measure server's throughput, and optimal performance. Smaller window certainly degrades performance even in local testing because server is so fast that it has to wait for WINDOW_UPDATE from h2load. To make default behaviour suitable for peak performance test, we decided to disable flow control in h2load by setting large enough window size. Most users used h2load without -w or -W options, so they were implicitly throttled by flow control and the result was affected by that negatively. Now flow control is disabled by default, the result may improve depending on the implementations.
-
- 26 Apr, 2015 4 commits
-
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
-
- 24 Apr, 2015 3 commits
-
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
After reviewing codebase, only queue for DATA frames requires priorities. Other frames can be replaced multiple linear queues. Replacing priority queue with linear queue allows us to simplify codebase a bit; for example, now nghttp2_session.next_seq is gone.
-
- 23 Apr, 2015 5 commits
-
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
Since application most likely allocates the stream object in nghttp2_on_begin_headers_callback, it is desirable to handle its failure as stream error. But previously it only signals success or fatal error. Submitting RST_STREAM does not prevent nghttp2_on_header_callback from being invoked. This commit improves this situation by allowing NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE from nghttp2_on_begin_headers_callback. If that value is returned, library submits RST_STREAM with error code INTERNAL_ERROR, and nghttp2_on_header_callback and nghttp2_on_frame_recv_callback for that frame are not invoked. Note that for PUSH_PROMISE frame, the stream to be reset is promised stream.
-
Tatsuhiro Tsujikawa authored
-
- 22 Apr, 2015 10 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
-
Tatsuhiro Tsujikawa authored
-
Xiaoguang Sun authored
-
- 21 Apr, 2015 1 commit
-
-
Tatsuhiro Tsujikawa authored
-
- 19 Apr, 2015 6 commits
-
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
Implement fd caching for static files. The response body for such as 404 was dynamically generated previously, but now it is written in temporally file and its fd is cached. Currently, cache is reference counted and expired when count becomes 0. This makes caching is not effective other than "busy" period, but we don't need this feature if we are not busy.
-
- 18 Apr, 2015 1 commit
-
-
Tatsuhiro Tsujikawa authored
-
- 17 Apr, 2015 1 commit
-
-
Tatsuhiro Tsujikawa authored
-