http: use writev on chunked encoding

Now will process all write() that were done on a single tick in a single
writev().
This commit is contained in:
Trevor Norris 2013-12-06 17:17:02 -08:00
parent 82c2084b4e
commit 2eddd74112

View File

@ -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);