Ryan Dahl
b22b5e341b
listen/bind errors should close net.Server
14 years ago
Bert Belder
0eb4c2157d
Define winsock error numbers
14 years ago
Ryan Dahl
5f5201db2f
Fix test-net-connect-buffer
Change to end() behavior in 33c339 was breaking it. end() should wait for
connection before dumping. Changed test-net-connect-timeout to use destroy()
instead.
14 years ago
Ryan Dahl
5f795efd4e
net: Timeouts should work before DNS resolution
14 years ago
Ryan Dahl
33c33949b2
Add test for connection timeouts
Also make socket.end() destroy connection if still trying to connect.
Previously was ignoring.
14 years ago
Ryan Dahl
5a05992155
Lint
14 years ago
Ryan Dahl
b62152bc84
Rename net.Stream to net.Socket
14 years ago
Ryan Dahl
bc1d758408
net.js: Check that readWatcher exists before pause, resume
14 years ago
Ryan Dahl
2957382991
Implement new stream method, destroySoon
Still missing on fs.WriteStream
14 years ago
Ryan Dahl
e4dd5cd6fd
NODE_DEBUG uses strings instead of bitflags
14 years ago
Ryan Dahl
632da2a393
Add callback paramenter to socket.connect()
14 years ago
Ryan Dahl
c4161f32f5
Add callback to socket.write()
14 years ago
Ryan Dahl
c970968ee6
better option parsing for socket.write()
14 years ago
Ryan Dahl
92789b16e5
Fix global leaks
14 years ago
Ryan Dahl
e232f6e735
more lint
14 years ago
Ryan Dahl
ec1589875c
Stop watcher before calling .set() in Stream.prototype.resume
14 years ago
Ryan Dahl
a6f6532dfb
Fix test-securepair-server
14 years ago
Ryan Dahl
2320497992
Revert "Merge branch 'writev'"
This reverts commit cd9515efd9
, reversing
changes made to df46c8e698
.
Too slow. Needs more work.
14 years ago
Ryan Dahl
1f18648394
Fix typo
14 years ago
Ryan Dahl
2ba3c10d62
Only try to flush big buffers once
14 years ago
Ryan Dahl
849792e46b
Add todo about test-pipe.js and throwing on resume()
14 years ago
Ryan Dahl
544877d12e
Fix socket.end() problem on non-empty queue
14 years ago
Ryan Dahl
3884b4185a
Small clean ups
14 years ago
Ryan Dahl
02039c9b53
'connect' event may disconnect socket
14 years ago
Ryan Dahl
fa556a1425
Add callback to socket.write(), fix test-sendfds
14 years ago
Ryan Dahl
a6d8425382
make sure unix sockets are tagged correctly
14 years ago
Ryan Dahl
5d6a03c9fe
Don't append buckets of zero length
14 years ago
Ryan Dahl
10ff559ec3
Add IOWatcher.flush()
To be called if sockets get too much data. This is to force a flush before
the tick ends.
14 years ago
Ryan Dahl
7c3c5c6861
Maintain queueSize for each socket
14 years ago
Ryan Dahl
5a84461e46
Also do ondrain callback for socket (needed by http)
14 years ago
Ryan Dahl
e1250a3333
Reset _eof on socket reuse
14 years ago
Ryan Dahl
5ba0be6166
Don't send null data segments
14 years ago
Ryan Dahl
dcc547d798
Dumper net.js integration
14 years ago
Ryan Dahl
df46c8e698
Rip out the old TLS implementation
14 years ago
Ryan Dahl
cf05257fb7
Test for server.listen() more carefully, fix bug
14 years ago
Ryan Dahl
4144024e6b
Test and fix for self-assigned port from net.Server
14 years ago
Ryan Dahl
f1391f33cd
Add missing require('fs')
14 years ago
Ryan Dahl
1eb547fec1
Lazy load modules in net.js
14 years ago
Ryan Dahl
5171da5a6c
Remove a little redundancy
14 years ago
Ryan Dahl
65dced730f
Handle one more onReadable call from crypto
MUST get rid of this calledByIOWatcher stuff. Hopefully will be able to when
securepair stuff lands.
14 years ago
Ryan Dahl
73cfda12bb
Abstract out a Server.prototype.pause method
14 years ago
Ryan Dahl
ad61d77fa3
Abstract out net.Server.prototype._rejectPending
Does the same timeout action for maxConnections as it does for EMFILE.
14 years ago
Jonas Pfenniger
74d0a077ec
Module-level EMFILE handling
All net servers now share the same dummy socket. The ulimit warning is
throttled for all servers.
14 years ago
Ryan Dahl
67652ddf27
Refactor callbacks in net.Stream for fewer closures
14 years ago
Ryan Dahl
38dde9684f
Add extra anti-DoS tech to net.Server
14 years ago
Ryan Dahl
ac54272218
Gracefully handle EMFILE
Implementing a tip from Marc Lehmann:
http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#The_special_problem_of_accept_ing_wh
Keep an extra FD around for every server. When you hit EMFILE, destroy that
FD, accept a connection, close it; in this way you can clear the connection
queue and let people know that you're overload.
No more timeout needed.
14 years ago
Ryan Dahl
5cc29b80f2
Move idle timers into its own module
14 years ago
Ryan Dahl
2470d2ee92
allowHalfOpen disabled by default
Users too often would forget to add
socket.on('end', function () {
socket.end();
});
Which is a mistake. Therefore we default to this behavior and
only optionally let people handle the 'end' case themselves.
14 years ago
Micheil Smith
8da020d39e
Update node_net.cc to make us of node_constants.cc
also affects dgram which uses a constant from node_net.cc
14 years ago
Ryan Dahl
0ac2ef924f
Do not spin on aceept() with EMFILE
When a server hit EMFILE it would continue to try to accept new connections
from the queue. This patch introduces a timeout of one second where it will
stop trying to accept new files. After the second is over it tries again.
This is a rather serious bug that has been effecting many highly concurrent
programs. It was introduced in 4593c0, version v0.2.0.
TODO: A test for this situation. Currently I test it like this
termA% cd projects/node
termA% ulimit -n 256
termA% ./node benchmark/idle_server.js
termB% cd projects/node
termB% ./node benchmark/idle_clients.js
And watch how the server process behaves.
14 years ago