- 10 Dec, 2015 1 commit
-
-
- 09 Dec, 2015 1 commit
-
-
Andreas Pohl authored
-
- 08 Dec, 2015 4 commits
-
-
Tatsuhiro Tsujikawa authored
-
Andreas Pohl authored
To allow the asio wrapper to work with boost.fiber it is required to access the underlying io_service objects.
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
-
- 07 Dec, 2015 2 commits
-
-
Tatsuhiro Tsujikawa authored
Previously, we only updated stream's weight field when only weight was changed by PRIORITY frame. If stream is queued, it would be better to actually reschedule it based on new weight. This could be especially useful if weight is increased.
-
Tatsuhiro Tsujikawa authored
Previously, we updated descendant_last_cycle in nghttp2_stream_reschedule, which is called after non-zero DATA frame. But this was not optimal since we still had old descendant_last_cycle, and new stream was scheduled based on it. Now descendant_last_cycle is updated in nghttp2_stream_next_outbound_item, which is called when stream with highest priority is selected from queue. And new stream is scheduled based on it. This commit also removes 0-reset of descendant_last_cycle and cycle in nghttp2_stream_reschedule. This could help making them lower, so that they are not overflow. But there is a pattern that it doesn't work, and we are not sure they are really useful at this moment.
-
- 04 Dec, 2015 3 commits
-
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
-
Sunpoet Po-Chuan Hsieh authored
-
- 03 Dec, 2015 3 commits
-
-
Tatsuhiro Tsujikawa authored
Instead of using nonsensical large value for max outgoing concurrent streams, use more sensible value, 100.
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
We should only keep incoming closed streams because we only keep at most max concurrent streams, which only applied to incoming streams.
-
- 02 Dec, 2015 1 commit
-
-
Tatsuhiro Tsujikawa authored
Previously, stream object for pushed resource was not created during nghttp2_submit_push_promise(). It was created just before nghttp2_before_frame_send_callback was called for that PUSH_PROMISE frame. This means that application could not call nghttp2_submit_response for the pushed resource before nghttp2_before_frame_send_callback was called. This could be solved by callback chaining, but for web server with back pressure from backend stream, it is a bit unnecessarily hard to use. This commit changes nghttp2_submit_push_promise() behaviour so that stream object is created during that call. It makes application call nghttp2_submit_response right after successful nghttp2_submit_push_promise call.
-
- 01 Dec, 2015 3 commits
-
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
-
- 29 Nov, 2015 2 commits
-
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
-
- 28 Nov, 2015 2 commits
-
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
See GH-436
-
- 27 Nov, 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
Application may use it using nghttp2_stream_* functions, and traverse its dependency.
-
Tatsuhiro Tsujikawa authored
Previously, nghttp2_session_end_request_headers_received assumes stream is still writable (in other words, local endpoint has not sent END_STREAM). But this assumption is false, because application can send response in nghttp2_on_begin_frame_callback. Probably, this assumption was made before the callback was introduced. This commit addresses this issue. Since all nghttp2_session_end_*_headers_received functions are identical, we refactored them into one function.
-
Tatsuhiro Tsujikawa authored
-
- 26 Nov, 2015 7 commits
-
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
-
- 25 Nov, 2015 1 commit
-
-
Tatsuhiro Tsujikawa authored
Because of the nature of heap based priority queue, and our compare function, streams with the same weight and same parent are handled in the reverse order they pushed to the queue. To allow stream pushed earlier to be served first, secondary key "seq" is introduced to break a tie. "seq" is monotonically increased integer per parent stream, and it is assigned to stream when it is pused to the queue, and gets incremented.
-