Skip to content

Commit

Permalink
http: cork/uncork before flushing pipelined res
Browse files Browse the repository at this point in the history
Make sure that the pipelined response data will be written as less TCP
packets as possible.

PR-URL: #3172
Reviewed-By: Brian White <mscdex@mscdex.net>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
  • Loading branch information
indutny committed Oct 6, 2015
1 parent d1f2404 commit 184f09d
Showing 1 changed file with 4 additions and 0 deletions.
4 changes: 4 additions & 0 deletions lib/_http_outgoing.js
Original file line number Diff line number Diff line change
Expand Up @@ -161,10 +161,12 @@ OutgoingMessage.prototype._writeRaw = function(data, encoding, callback) {
var output = this.output;
var outputEncodings = this.outputEncodings;
var outputCallbacks = this.outputCallbacks;
connection.cork();
for (var i = 0; i < outputLength; i++) {
connection.write(output[i], outputEncodings[i],
outputCallbacks[i]);
}
connection.uncork();

this.output = [];
this.outputEncodings = [];
Expand Down Expand Up @@ -651,10 +653,12 @@ OutgoingMessage.prototype._flush = function() {
var output = this.output;
var outputEncodings = this.outputEncodings;
var outputCallbacks = this.outputCallbacks;
socket.cork();
for (var i = 0; i < outputLength; i++) {
ret = socket.write(output[i], outputEncodings[i],
outputCallbacks[i]);
}
socket.uncork();

this.output = [];
this.outputEncodings = [];
Expand Down

0 comments on commit 184f09d

Please sign in to comment.