Ryan Dahl
5d6a03c9fe
Don't append buckets of zero length
2010-11-18 16:47:38 -08:00
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.
2010-11-18 16:47:37 -08:00
Ryan Dahl
7c3c5c6861
Maintain queueSize for each socket
2010-11-18 16:47:37 -08:00
Ryan Dahl
5a84461e46
Also do ondrain callback for socket (needed by http)
2010-11-18 16:47:37 -08:00
Ryan Dahl
e1250a3333
Reset _eof on socket reuse
2010-11-18 16:47:37 -08:00
Ryan Dahl
5ba0be6166
Don't send null data segments
2010-11-18 16:47:37 -08:00
Ryan Dahl
dcc547d798
Dumper net.js integration
2010-11-18 16:47:37 -08:00
Ryan Dahl
df46c8e698
Rip out the old TLS implementation
2010-11-18 16:46:37 -08:00
Ryan Dahl
cf05257fb7
Test for server.listen() more carefully, fix bug
2010-11-16 15:33:21 -08:00
Ryan Dahl
4144024e6b
Test and fix for self-assigned port from net.Server
2010-11-15 20:22:54 -08:00
Ryan Dahl
f1391f33cd
Add missing require('fs')
2010-11-01 14:56:21 -07:00
Ryan Dahl
1eb547fec1
Lazy load modules in net.js
2010-10-28 13:15:53 -07:00
Ryan Dahl
5171da5a6c
Remove a little redundancy
2010-10-28 13:11:42 -07:00
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.
2010-10-28 12:34:48 -07:00
Ryan Dahl
73cfda12bb
Abstract out a Server.prototype.pause method
2010-10-28 11:42:22 -07:00
Ryan Dahl
ad61d77fa3
Abstract out net.Server.prototype._rejectPending
...
Does the same timeout action for maxConnections as it does for EMFILE.
2010-10-28 11:33:35 -07:00
Jonas Pfenniger
74d0a077ec
Module-level EMFILE handling
...
All net servers now share the same dummy socket. The ulimit warning is
throttled for all servers.
2010-10-28 11:12:59 -07:00
Ryan Dahl
67652ddf27
Refactor callbacks in net.Stream for fewer closures
2010-10-27 16:43:16 -07:00
Ryan Dahl
38dde9684f
Add extra anti-DoS tech to net.Server
2010-10-27 12:09:16 -07:00
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.
2010-10-27 02:12:25 -07:00
Ryan Dahl
5cc29b80f2
Move idle timers into its own module
2010-10-26 14:53:17 -07:00
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.
2010-10-26 01:10:18 -07:00
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
2010-10-25 12:14:47 -07:00
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.
2010-10-23 12:28:20 -07:00
Ryan Dahl
d9a5edb2b0
Fix test-net-eaddrinuse
2010-10-23 11:22:24 -07:00
Jorge Chamorro Bieling
99e19aa398
Remove unneeded function wrappers
2010-10-21 17:11:59 -07:00
Johan Euphrosine
5d400cfd3a
net listen should emit eaddrinuse error
2010-10-18 17:00:13 -07:00
Joshua Peek
73b29d79b9
Don't flush net writeQueue on end() if its still connecting
2010-10-13 02:37:53 -07:00
Ryan Dahl
6691aca229
Allow people to set backlog. Need a better API.
2010-10-13 01:47:29 -07:00
Micheil Smith
a3604cf233
Removed deprecated methods from lib/net.js
2010-10-11 16:20:08 -07:00
Micheil Smith
83db91be41
Removed deprecated alias to lib/fs.js
2010-10-11 16:20:04 -07:00
Ryan Dahl
7e24a05cba
Fix test-http-buffer-sanity
2010-10-11 16:00:36 -07:00
Micheil Smith
e38eb0c5a4
Soft migration of sys -> util, Removal of deprecated utils module.
2010-10-11 15:21:36 -07:00
Ryan Dahl
1d3142a882
TCP clients should buffer writes before connection
2010-10-10 23:09:14 -07:00
Ryan Dahl
bc695475b9
Add Stream base class with stream.pipe
2010-10-10 17:27:03 -07:00
Joshaven Potter
3d4e4d8909
syntax fixes to pass jslint
2010-10-06 20:40:57 -07:00
Ryan Dahl
f323f34353
writeable -> writable
2010-09-29 16:12:30 -07:00
Ryan Dahl
9911629de0
Fix style in node_crypto.cc
2010-09-28 19:17:09 -07:00
Ryan Dahl
163485c8aa
Rename some SecureStream methods
2010-09-28 11:38:27 -07:00
Ryan Dahl
7bd94712a8
lazy load crypto binding
2010-09-28 11:27:13 -07:00
Ryan Dahl
d89f8dce28
fix style in net.js
2010-09-28 11:27:09 -07:00
Ryan Dahl
069d973d74
Remove require('buffer') in built-in libraries.
2010-09-28 02:31:31 -07:00
Ryan Dahl
01b3418e2e
Move IOWatcher and Timer to process.binding
2010-09-17 00:15:54 -07:00
Paul Querna
c8f9728de7
Move dns.isIP to net.isIP
...
Add tests and docs.
2010-09-16 17:27:10 -07:00
Ryan Dahl
251d03197f
Remove deprecation warnings in net module
2010-09-16 15:02:12 -07:00
Bradley Meck
d5214b3627
Allow Strings for ports on net.Server.listen
2010-08-30 13:27:38 -07:00
Ryan Dahl
4fdebab005
Safe constructor: net.Server, net.Stream
2010-08-27 15:38:46 -07:00
Ryan Dahl
4593c04959
Implement net.Server.maxConnections
...
Simplify EMFILE behavior.
2010-08-15 14:01:55 -07:00
Illarionov Oleg
cde80d9859
Fix OpenSSL 100% CPU usage on error
2010-08-15 13:23:09 -07:00
Matt Ranney
f7c5334195
Check for socket on Unix domain connect.
...
Change scope to context in REPL docs.
2010-07-26 19:02:15 -07:00