From 51dc64b648dd8f69c382523809da59c195289172 Mon Sep 17 00:00:00 2001 From: Fedor Indutny Date: Sun, 4 Oct 2015 00:01:06 -0400 Subject: [PATCH] http: cork/uncork before flushing pipelined res Make sure that the pipelined response data will be written as less TCP packets as possible. --- lib/_http_outgoing.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/_http_outgoing.js b/lib/_http_outgoing.js index ddbd6c3828aaa8..d481df57bf8f8b 100644 --- a/lib/_http_outgoing.js +++ b/lib/_http_outgoing.js @@ -150,10 +150,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 = []; @@ -630,10 +632,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 = [];