nghttp2/tests
Tatsuhiro Tsujikawa a11fbf6e2f Optimize connection level remote flow control
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.
2014-09-26 00:01:51 +09:00
..
testdata Replace HTTP/2.0 with HTTP/2 2014-03-30 19:26:37 +09:00
.gitignore Update .gitignore 2013-11-04 18:39:48 +09:00
Makefile.am Fix unittest build error 2014-05-06 23:42:32 +09:00
end_to_end.py Move spdycat, spdyd and shrpx from examples to src 2012-09-10 21:39:51 +09:00
failmalloc.c tests: Add failmalloc HPACK test 2014-05-10 21:14:25 +09:00
failmalloc_test.c Fix failmalloc test 2014-06-18 15:12:54 +09:00
failmalloc_test.h tests: Add failmalloc HPACK test 2014-05-10 21:14:25 +09:00
main.c Fix memory leak around stream->data_item 2014-09-17 23:16:00 +09:00
malloc_wrapper.c Replace HTTP/2.0 with HTTP/2 2014-03-30 19:26:37 +09:00
malloc_wrapper.h Replace HTTP/2.0 with HTTP/2 2014-03-30 19:26:37 +09:00
nghttp2_buf_test.c Add nghttp2_bufs_realloc 2014-08-24 15:34:55 +09:00
nghttp2_buf_test.h Add nghttp2_bufs_realloc 2014-08-24 15:34:55 +09:00
nghttp2_frame_test.c Add reserved bits to header and frames 2014-08-28 23:30:42 +09:00
nghttp2_frame_test.h Implement ALTSVC frame 2014-04-01 21:47:51 +09:00
nghttp2_hd_test.c nghttp2_hd_deflate_bound: Take into account possible 2nd context update 2014-07-31 23:05:53 +09:00
nghttp2_hd_test.h Remove HPACK reference set 2014-07-31 23:05:52 +09:00
nghttp2_helper_test.c nghttp2_check_header_value: Disallow 0x00 2014-08-02 00:30:09 +09:00
nghttp2_helper_test.h Replace HTTP/2.0 with HTTP/2 2014-03-30 19:26:37 +09:00
nghttp2_map_test.c Replace HTTP/2.0 with HTTP/2 2014-03-30 19:26:37 +09:00
nghttp2_map_test.h Replace HTTP/2.0 with HTTP/2 2014-03-30 19:26:37 +09:00
nghttp2_npn_test.c Advertise h2-14 2014-07-31 23:34:54 +09:00
nghttp2_npn_test.h Replace HTTP/2.0 with HTTP/2 2014-03-30 19:26:37 +09:00
nghttp2_pq_test.c Fix compile error with -Wshorten-64-to-32 2014-06-11 23:37:16 +09:00
nghttp2_pq_test.h Replace HTTP/2.0 with HTTP/2 2014-03-30 19:26:37 +09:00
nghttp2_queue_test.c Replace HTTP/2.0 with HTTP/2 2014-03-30 19:26:37 +09:00
nghttp2_queue_test.h Replace HTTP/2.0 with HTTP/2 2014-03-30 19:26:37 +09:00
nghttp2_session_test.c Optimize connection level remote flow control 2014-09-26 00:01:51 +09:00
nghttp2_session_test.h Fix memory leak around stream->data_item 2014-09-17 23:16:00 +09:00
nghttp2_stream_test.c Replace HTTP/2.0 with HTTP/2 2014-03-30 19:26:37 +09:00
nghttp2_stream_test.h Replace HTTP/2.0 with HTTP/2 2014-03-30 19:26:37 +09:00
nghttp2_test_helper.c Fix compile error with -Wshorten-64-to-32 2014-06-11 23:37:16 +09:00
nghttp2_test_helper.h tests: Fix failmalloc tests 2014-05-10 19:40:23 +09:00