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
Ryan Dahl
d9a5edb2b0
Fix test-net-eaddrinuse
14 years ago
Jorge Chamorro Bieling
99e19aa398
Remove unneeded function wrappers
14 years ago
Johan Euphrosine
5d400cfd3a
net listen should emit eaddrinuse error
14 years ago
Joshua Peek
73b29d79b9
Don't flush net writeQueue on end() if its still connecting
14 years ago
Ryan Dahl
6691aca229
Allow people to set backlog. Need a better API.
14 years ago
Micheil Smith
a3604cf233
Removed deprecated methods from lib/net.js
14 years ago
Micheil Smith
83db91be41
Removed deprecated alias to lib/fs.js
14 years ago
Ryan Dahl
7e24a05cba
Fix test-http-buffer-sanity
14 years ago
Micheil Smith
e38eb0c5a4
Soft migration of sys -> util, Removal of deprecated utils module.
14 years ago
Ryan Dahl
1d3142a882
TCP clients should buffer writes before connection
14 years ago
Ryan Dahl
bc695475b9
Add Stream base class with stream.pipe
14 years ago
Joshaven Potter
3d4e4d8909
syntax fixes to pass jslint
14 years ago
Ryan Dahl
f323f34353
writeable -> writable
14 years ago
Ryan Dahl
9911629de0
Fix style in node_crypto.cc
14 years ago
Ryan Dahl
163485c8aa
Rename some SecureStream methods
14 years ago
Ryan Dahl
7bd94712a8
lazy load crypto binding
14 years ago
Ryan Dahl
d89f8dce28
fix style in net.js
14 years ago
Ryan Dahl
069d973d74
Remove require('buffer') in built-in libraries.
14 years ago
Ryan Dahl
01b3418e2e
Move IOWatcher and Timer to process.binding
14 years ago
Paul Querna
c8f9728de7
Move dns.isIP to net.isIP
Add tests and docs.
14 years ago
Ryan Dahl
251d03197f
Remove deprecation warnings in net module
14 years ago
Bradley Meck
d5214b3627
Allow Strings for ports on net.Server.listen
14 years ago
Ryan Dahl
4fdebab005
Safe constructor: net.Server, net.Stream
14 years ago
Ryan Dahl
4593c04959
Implement net.Server.maxConnections
Simplify EMFILE behavior.
14 years ago
Illarionov Oleg
cde80d9859
Fix OpenSSL 100% CPU usage on error
15 years ago
Matt Ranney
f7c5334195
Check for socket on Unix domain connect.
Change scope to context in REPL docs.
14 years ago
Peter Griess
94cd83ef34
Doc fixes for FD related features, upgrade.
- Add docs for 'fd' events, Server.listenFD(), Stream.write(...[, fd])
and http.Client 'upgrade' event.
15 years ago
Blake Mizerany
8c8534046c
fix whitespace errors
15 years ago
Ryan Dahl
7b119f8b38
Fix error message
15 years ago
Ryan Dahl
6bed15e074
Refactor: Utf8Decoder -> StringDecoder
Instead of just decoding Utf8, this will proxy requests to buffer.toString()
for other encodings. This makes for a simpler interface.
15 years ago
Peter Griess
4b48042c17
Wrap FD in closure before emitting from Stream.
- Without this, recvMsg can be invoked before the event emitter gets a
chance to run. In this case, recvMsg.fd will be overwritten and the
original caller can end up emitting null.
15 years ago
Ryan Dahl
14414f81f3
Soft deprecation of 'listening' event.
Add callback param to listen() instead
15 years ago
Peter Griess
de6d663a67
Add 'type' parameter to net.Server.listenFD()
This is needed in case the provided socket is not the default 'tcp4' type
(i.e. and needs different read/write/etc methods). With this patch, one can
call listenFD(sock, 'unix') to bind to existing UNIX domain sockets.
15 years ago
Peter Griess
a0134ff0f8
add net.Server.listenFD
Now that FD passing is in master, it'd be great to be able to use a received
socket (which has already had bind(2) and listen(2) called on it) to fire up a
new net.Server instance. This patch adds a net.Server.listenFD() method which
will start up the accept watcher on the provided FD.
15 years ago