nghttpx: Don't consume response data in downstream on_stream_close_callback

Even after on_stream_close_callback, Http2DownstreamConnection is
still alive and upstream keeps sending response to the client.  The
consumed bytes are processed normally (data_source_read_callback) and
also we have a code to consume all allocated bytes for
Http2DownstreamConnection object when it is deleted.  This means that
we don't need to and should not consume response data in downstream
on_stream_close_callback.  If we do, we may get assertion error in
Http2DownstreamConnection::resume_read().
This commit is contained in:
Tatsuhiro Tsujikawa 2014-08-26 22:16:19 +09:00
parent 42ac80d3da
commit 223242b512
1 changed files with 0 additions and 5 deletions

View File

@ -774,11 +774,6 @@ int on_stream_close_callback
auto downstream = dconn->get_downstream(); auto downstream = dconn->get_downstream();
if(downstream && downstream->get_downstream_stream_id() == stream_id) { if(downstream && downstream->get_downstream_stream_id() == stream_id) {
http2session->consume(downstream->get_downstream_stream_id(),
downstream->get_response_datalen());
downstream->reset_response_datalen();
if(downstream->get_upgraded() && if(downstream->get_upgraded() &&
downstream->get_response_state() == Downstream::HEADER_COMPLETE) { downstream->get_response_state() == Downstream::HEADER_COMPLETE) {
// For tunneled connection, we have to submit RST_STREAM to // For tunneled connection, we have to submit RST_STREAM to