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:
parent
82c2084b4e
commit
2eddd74112
@ -438,14 +438,18 @@ OutgoingMessage.prototype.write = function(chunk, encoding, callback) {
|
|||||||
else
|
else
|
||||||
len = chunk.length;
|
len = chunk.length;
|
||||||
|
|
||||||
if (this.connection)
|
if (this.connection && !this.connection.corked) {
|
||||||
this.connection.cork();
|
this.connection.cork();
|
||||||
|
var conn = this.connection;
|
||||||
|
process.nextTick(function connectionCork() {
|
||||||
|
if (conn)
|
||||||
|
conn.uncork();
|
||||||
|
});
|
||||||
|
}
|
||||||
this._send(len.toString(16), 'binary', null);
|
this._send(len.toString(16), 'binary', null);
|
||||||
this._send(crlf_buf, null, null);
|
this._send(crlf_buf, null, null);
|
||||||
this._send(chunk, encoding, null);
|
this._send(chunk, encoding, null);
|
||||||
ret = this._send(crlf_buf, null, callback);
|
ret = this._send(crlf_buf, null, callback);
|
||||||
if (this.connection)
|
|
||||||
this.connection.uncork();
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
ret = this._send(chunk, encoding, callback);
|
ret = this._send(chunk, encoding, callback);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user