Compare commits

...

1 Commits

Author SHA1 Message Date
Jarred Sumner
f5264ceac2 fix net server noDelay 2025-05-28 18:22:50 -07:00
2 changed files with 37 additions and 0 deletions

View File

@@ -372,6 +372,10 @@ const ServerHandlers: SocketHandler = {
_socket[kAttach](this.localPort, socket);
if (self.noDelay) {
_socket.setNoDelay(self.noDelay);
}
if (self.blockList) {
const addressType = isIP(socket.remoteAddress);
if (addressType && self.blockList.check(socket.remoteAddress, `ipv${addressType}`)) {

View File

@@ -0,0 +1,33 @@
const common = require('../common');
const assert = require('assert');
const net = require('net');
const server = net
.createServer(
{
noDelay: true,
},
common.mustCall((socket) => {
socket._handle.setNoDelay = common.mustNotCall();
socket.setNoDelay(true);
socket.destroy();
server.close();
}),
)
.listen(
0,
common.mustCall(() => {
net.connect(server.address().port);
}),
);
const onconnection = server._handle.onconnection;
server._handle.onconnection = common.mustCall((err, clientHandle) => {
const setNoDelay = clientHandle.setNoDelay;
clientHandle.setNoDelay = common.mustCall((enable) => {
assert.strictEqual(enable, server.noDelay);
setNoDelay.call(clientHandle, enable);
clientHandle.setNoDelay = setNoDelay;
});
onconnection.call(server._handle, err, clientHandle);
});