- 07 Oct, 2014 1 commit
-
-
Tatsuhiro Tsujikawa authored
This also means that at least one stream whose dpri is NGHTTP2_STREAM_DPRI_TOP exists, its siblings descendants have no chance to send streams, even if their parent stream has NGHTTP2_STREAM_DPRI_NODATA.
-
- 06 Oct, 2014 2 commits
-
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
-
- 05 Oct, 2014 1 commit
-
-
Tatsuhiro Tsujikawa authored
Now we don't use std::future with --disable-threads, checking std::future in configure.ac was removed and building h2load is always enabled.
-
- 03 Oct, 2014 3 commits
-
-
Tatsuhiro Tsujikawa authored
-
Svante Signell authored
-
Tatsuhiro Tsujikawa authored
-
- 30 Sep, 2014 2 commits
-
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
-
- 29 Sep, 2014 3 commits
-
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
-
- 28 Sep, 2014 8 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
-
- 27 Sep, 2014 5 commits
-
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
Since recently used headers are in dynamic header table, it is advantageous to search dynamic table first, saving time to search through static table.
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
tiny-nghttpd is HTTP/2 server and its purpose is measure the performance of nghttp2 library code. Currently it only accepts direct HTTP/2 connection only.
-
- 26 Sep, 2014 2 commits
-
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
Previously when nghttp2_stream_resume_deferred_data() is called, deferred flags in stream->flags are all cleared. This is not ideal because if application returned NGHTTP2_ERR_DEFERRED, and also that stream is deferred by flow control, then all flags are cleared and read callback will be invoked again. This commit fixes this issue. This changes error condition of nghttp2_session_resume_data(). Previously we return error if stream was deferred by flow control. Now we don't return error in this case. We just clear NGHTTP2_FLAG_DEFERRED_USER and if still NGHTTP2_FLAG_DEFERRED_FLOW_CONTROL is set, just return 0.
-
- 25 Sep, 2014 2 commits
-
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
Previously when connection level remote flow control window gets 0, we mark the stream having DATA frame with NGHTTP2_STREAM_FLAG_DEFERRED_FLOW_CONTROL. When connection level WINDOW_UPDATE is received, we checks all existing streams, including closed ones, and call nghttp2_stream_resume_deferred_data(). The profiler shows this is expensive. Now we prepare dedicated priority queue for DATA frames. And we don't mark stream with NGHTTP2_STREAM_FLAG_DEFERRED_FLOW_CONTROL when DATA cannot be sent solely due to connection level flow control. Instead, we just queue DATA item to queue. We won't pop DATA item from queue when connection level remote window size is 0. This way, we avoid the expensive operation for all streams when WINDOW_UPDATE is arrived.
-
- 24 Sep, 2014 5 commits
-
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
-
- 23 Sep, 2014 6 commits
-
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
The libnghttp2_asio library is C++ library built on top of libnghttp2. Currently, it has server API and easily create HTTP/2 server using node.js like API calls. See the example server source code in examples/asio-sv.cc. The library depends on Boost::ASIO library.
-
Tatsuhiro Tsujikawa authored
-