From: Trevor Norris Date: Sat, 7 Dec 2013 01:17:02 +0000 (-0800) Subject: http: use writev on chunked encoding X-Git-Tag: v0.11.11~63 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=2eddd7411234bf633df6a7bdb9c120ed89853324;p=platform%2Fupstream%2Fnodejs.git http: use writev on chunked encoding Now will process all write() that were done on a single tick in a single writev(). --- diff --git a/lib/_http_outgoing.js b/lib/_http_outgoing.js index b1e2dff..25786ed 100644 --- a/lib/_http_outgoing.js +++ b/lib/_http_outgoing.js @@ -438,14 +438,18 @@ OutgoingMessage.prototype.write = function(chunk, encoding, callback) { else len = chunk.length; - if (this.connection) + if (this.connection && !this.connection.corked) { this.connection.cork(); + var conn = this.connection; + process.nextTick(function connectionCork() { + if (conn) + conn.uncork(); + }); + } this._send(len.toString(16), 'binary', null); this._send(crlf_buf, null, null); this._send(chunk, encoding, null); ret = this._send(crlf_buf, null, callback); - if (this.connection) - this.connection.uncork(); } } else { ret = this._send(chunk, encoding, callback);