Tatsuhiro Tsujikawa 8bac2087cf nghttp2_session_mem_send: Handle stream closure early
Previously session_after_frame_sent is called after we detected all
data is sent.  In nghttp2_session_mem_send, we only detect it in the
next call of the function.  It means that if a frame data bearing
END_STREAM is on flight to the peer as a result of
nghttp2_session_mem_send, peer may get that data and knows the stream
closure and issues new stream.  We may receive this new stream before
the next nghttp2_session_mem_send call, which means that we may
incorrectly assumes that peer violates maximum concurrent stream
limit.  To fix this issue, we separate session_after_frame_sent into 2
functions: session_after_frame_sent1 and session_after_frame_sent2.
session_after_frame_sent1 handles on_frame_send_callback and stream
closure and we call this early in nghttp2_session_mem_send.  This
makes number of streams are synchronized correctly with peer.
2014-12-18 21:52:17 +09:00
..
2014-12-16 23:21:50 +09:00
2014-12-08 00:55:55 +09:00
2014-09-24 00:44:45 +09:00
2014-12-08 00:55:55 +09:00
2014-12-08 00:55:55 +09:00
2014-12-18 21:02:44 +09:00
2014-12-08 00:55:55 +09:00
2014-12-08 00:55:55 +09:00
2014-12-08 00:55:55 +09:00
2014-12-08 00:55:55 +09:00
2014-12-08 00:55:55 +09:00
2014-12-08 00:55:55 +09:00
2014-12-08 00:55:55 +09:00