Skip to content

Commit

Permalink
http2: send out pending data earlier
Browse files Browse the repository at this point in the history
If there’s a lot of data waiting on a given stream, send
it out early, if possible. This helps trigger the backpressure
mechanism introduced in 8a4a193 at a better time.

PR-URL: #29398
Reviewed-By: David Carlier <devnexen@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
  • Loading branch information
addaleax authored and targos committed Sep 20, 2019
1 parent c95e9ca commit fa949ca
Showing 1 changed file with 4 additions and 1 deletion.
5 changes: 4 additions & 1 deletion src/node_http2.cc
Original file line number Diff line number Diff line change
Expand Up @@ -1221,7 +1221,10 @@ int Http2Session::OnDataChunkReceived(nghttp2_session* handle,
stream->inbound_consumed_data_while_paused_ += avail;

// If we have a gathered a lot of data for output, try sending it now.
if (session->outgoing_length_ > 4096) session->SendPendingData();
if (session->outgoing_length_ > 4096 ||
stream->available_outbound_length_ > 4096) {
session->SendPendingData();
}
} while (len != 0);

// If we are currently waiting for a write operation to finish, we should
Expand Down

0 comments on commit fa949ca

Please sign in to comment.