Commit Graph

581 Commits

Author SHA1 Message Date
Timothy J Fontaine
2637b5c261 ref/unref for net.Socket net.Server dgram.Socket 2012-07-23 18:31:30 +02:00
Fedor Indutny
1fa0bca2ad net: ignore socket.setTimeout(Infinity) (and NaN) 2012-07-20 01:49:30 +04:00
Fedor Indutny
b0950cbea2 net: ignore socket.setTimeout(Infinity) (and NaN) 2012-07-20 00:43:41 +04:00
Ben Noordhuis
3a6314dbe1 net: fix net.Server.listen({fd:x}) error reporting
* don't assert when fd isn't an open file descriptor

* don't die with a ReferenceError when fd isn't a file descriptor
  you can listen() on

Fixes #3699.
2012-07-12 18:18:38 +02:00
Ben Noordhuis
5d97d72753 net: fix bogus errno reporting
_listen2() emits the error on the next tick. The errno value may have changed
by then.
2012-07-12 16:56:44 +02:00
Jonas Westerlund
e5bb8391a8 Do not assign to properties that only have getters
It is an error in strict mode, and silent failure otherwise.
2012-07-06 19:28:35 -07:00
isaacs
5b39929d47 Add --no-deprecation and --trace-deprecation flags 2012-06-21 12:05:33 -07:00
isaacs
1df222f179 Fix breakage introduced in de65ba7 2012-06-18 16:04:36 -07:00
isaacs
de65ba7aba net.Socket: Delay pause/resume until after connect
Fix #3118
2012-06-18 15:17:20 -07:00
Reid Burke
71a2a2caa6 net: Prevent property access throws during close
Fix #3455.

The remoteAddress and remotePort properties are
dynamically retrieved from _getpeername().

While _getpeername() checks if the _handle is
null, it is also possible for the tcp_wrapped
_handle.getpeername() to return null on error.

Such a condition happens when the remote closes
and one of these properties is accessed before
_handle is set to null.
2012-06-17 13:00:00 -07:00
isaacs
41421ff9da Make listenFD just DTRT after warning 2012-06-16 16:26:16 -07:00
Andreas Madsen
1e0ce5d1bd domain: the EventEmitter constructor is now always called in nodecore 2012-06-15 09:49:05 -07:00
isaacs
e733dc3bc3 Fix #3388 Support listening on file descriptors
This implements server.listen({ fd: <filedescriptor> }).  The fd should
refer to an underlying resource that is already bound and listening, and
causes the new server to also accept connections on it.

Not supported on Windows.  Raises ENOTSUP.
2012-06-13 12:24:45 -07:00
Ben Noordhuis
f0a561fe67 net: rename flag FLAG_SHUTDOWNQUED 2012-06-04 15:02:09 +02:00
Ben Noordhuis
fa9aa1c961 net: fix 'close' event emit order
The server 'close' event was emitted before the last client 'close' event. Not
exactly fatal but potentially confusing.

Before this commit the order looked something like [client, server, client],
now it looks like [client, client, server].

See #3340 for more details.
2012-05-29 13:05:51 +02:00
Ben Noordhuis
039fac633e deps: upgrade libuv to a478847
The event loop's reference counting scheme in this version of libuv has changed.
Update the libuv bindings to reflect that fact.
2012-05-22 16:14:24 +02:00
Andreas Madsen
81a4edcf6a cluster: remove NODE_UNIQUE_ID from env on startup
In case a worker would spawn a new subprocess with process.env, NODE_UNIQUE_ID
would have been a part of the env. Making the new subprocess believe it is a
worker, this would result in some confusion if the subprocess where to listen to
a port, since the server handle request would then be relayed to the worker.

This patch removes the NODE_UNIQUE_ID flag from process.env on startup so any
subprocess spawned by a worker is a normal process with no cluster stuff.
2012-05-21 23:27:44 +02:00
Ben Noordhuis
f66f793c07 net: hook up handle wrap to owning object 2012-05-15 16:59:00 +02:00
Andreas Madsen
dceebbfa31 child_process: allow sending a net Socket and Server object using child.send
child_process.fork() support sending native hander object, this patch add support for sending
net.Server and net.Socket object by converting the object to a native handle object and back
to a useful object again.

Note when sending a Socket there was emitted by a net Server object, the server.connections
property becomes null, because it is no longer possible to known when it is destroyed.
2012-05-14 07:47:52 -07:00
rsolomo
d40415912f net: make isIP() return 0 on empty input 2012-05-14 16:09:04 +02:00
Bert Belder
27ddd14e9f net.js: make Socket.bytesWritten work again
Earlier string write optimizations broke it.
2012-05-09 04:00:07 +02:00
Bert Belder
0e57aafbb1 Optimize writing strings with Socket.write 2012-05-09 03:56:19 +02:00
Bert Belder
bb675baaa9 net.js: don't pretend that everything is okay when unwrapping fails
In case of an UNWRAP failure, the binding returns -1, which is truthy.
2012-05-09 03:56:06 +02:00
Brian Schroeder
436a9b69f3 net: signal localAddress bind failure in connect 2012-05-05 01:30:32 +02:00
Erik Dubbelboer
3d69bbfa87 net, http: add backlog parameter to .listen() 2012-04-18 21:40:25 +02:00
isaacs
33c76f19de net.js: lint 2012-04-18 12:24:41 -07:00
isaacs
ecca7525cc Merge remote-tracking branch 'ry/v0.6' into master
Conflicts:
	AUTHORS
	ChangeLog
	LICENSE
	Makefile
	deps/http_parser/test.c
	deps/npm/AUTHORS
	deps/npm/html/api/bin.html
	deps/npm/html/api/bugs.html
	deps/npm/html/api/commands.html
	deps/npm/html/api/config.html
	deps/npm/html/api/deprecate.html
	deps/npm/html/api/docs.html
	deps/npm/html/api/edit.html
	deps/npm/html/api/explore.html
	deps/npm/html/api/help-search.html
	deps/npm/html/api/init.html
	deps/npm/html/api/install.html
	deps/npm/html/api/link.html
	deps/npm/html/api/load.html
	deps/npm/html/api/ls.html
	deps/npm/html/api/npm.html
	deps/npm/html/api/outdated.html
	deps/npm/html/api/owner.html
	deps/npm/html/api/pack.html
	deps/npm/html/api/prefix.html
	deps/npm/html/api/prune.html
	deps/npm/html/api/publish.html
	deps/npm/html/api/rebuild.html
	deps/npm/html/api/restart.html
	deps/npm/html/api/root.html
	deps/npm/html/api/run-script.html
	deps/npm/html/api/search.html
	deps/npm/html/api/shrinkwrap.html
	deps/npm/html/api/start.html
	deps/npm/html/api/stop.html
	deps/npm/html/api/submodule.html
	deps/npm/html/api/tag.html
	deps/npm/html/api/test.html
	deps/npm/html/api/uninstall.html
	deps/npm/html/api/unpublish.html
	deps/npm/html/api/update.html
	deps/npm/html/api/version.html
	deps/npm/html/api/view.html
	deps/npm/html/api/whoami.html
	deps/npm/html/doc/README.html
	deps/npm/html/doc/adduser.html
	deps/npm/html/doc/bin.html
	deps/npm/html/doc/bugs.html
	deps/npm/html/doc/build.html
	deps/npm/html/doc/bundle.html
	deps/npm/html/doc/cache.html
	deps/npm/html/doc/changelog.html
	deps/npm/html/doc/coding-style.html
	deps/npm/html/doc/completion.html
	deps/npm/html/doc/config.html
	deps/npm/html/doc/deprecate.html
	deps/npm/html/doc/developers.html
	deps/npm/html/doc/disputes.html
	deps/npm/html/doc/docs.html
	deps/npm/html/doc/edit.html
	deps/npm/html/doc/explore.html
	deps/npm/html/doc/faq.html
	deps/npm/html/doc/folders.html
	deps/npm/html/doc/help-search.html
	deps/npm/html/doc/help.html
	deps/npm/html/doc/index.html
	deps/npm/html/doc/init.html
	deps/npm/html/doc/install.html
	deps/npm/html/doc/json.html
	deps/npm/html/doc/link.html
	deps/npm/html/doc/list.html
	deps/npm/html/doc/npm.html
	deps/npm/html/doc/outdated.html
	deps/npm/html/doc/owner.html
	deps/npm/html/doc/pack.html
	deps/npm/html/doc/prefix.html
	deps/npm/html/doc/prune.html
	deps/npm/html/doc/publish.html
	deps/npm/html/doc/rebuild.html
	deps/npm/html/doc/registry.html
	deps/npm/html/doc/removing-npm.html
	deps/npm/html/doc/restart.html
	deps/npm/html/doc/root.html
	deps/npm/html/doc/run-script.html
	deps/npm/html/doc/scripts.html
	deps/npm/html/doc/search.html
	deps/npm/html/doc/semver.html
	deps/npm/html/doc/shrinkwrap.html
	deps/npm/html/doc/star.html
	deps/npm/html/doc/start.html
	deps/npm/html/doc/stop.html
	deps/npm/html/doc/submodule.html
	deps/npm/html/doc/tag.html
	deps/npm/html/doc/test.html
	deps/npm/html/doc/uninstall.html
	deps/npm/html/doc/unpublish.html
	deps/npm/html/doc/update.html
	deps/npm/html/doc/version.html
	deps/npm/html/doc/view.html
	deps/npm/html/doc/whoami.html
	deps/npm/lib/npm.js
	deps/npm/man/man1/npm.1
	deps/npm/man/man3/npm.3
	deps/npm/node_modules/fstream-npm/fstream-npm.js
	deps/npm/node_modules/fstream-npm/node_modules/fstream-ignore/package.json
	deps/npm/node_modules/fstream-npm/package.json
	deps/npm/node_modules/node-gyp/LICENSE
	deps/npm/node_modules/node-gyp/lib/build.js
	deps/npm/node_modules/node-gyp/lib/install.js
	deps/npm/node_modules/node-gyp/node_modules/ansi/package.json
	deps/npm/node_modules/node-gyp/node_modules/glob/package.json
	deps/npm/node_modules/node-gyp/package.json
	deps/npm/package.json
	deps/uv/test/test-fs.c
	deps/v8/src/regexp-macro-assembler-tracer.cc
	deps/v8/src/version.cc
	src/node_version.h
	src/platform_sunos.cc
	test/simple/test-net-write-after-close.js
	wscript
2012-04-18 11:57:54 -07:00
ssuda
70005be4ff Fixing ClientRequest setTimeout EventEmitter Leak
This will fix #3068
2012-04-16 23:36:18 +02:00
Ben Noordhuis
16fca262be net: honor 'enable' flag in .setNoDelay()
Fixes #3096.
2012-04-12 19:15:32 +02:00
Igor Zinkovsky
0dcc43316f don't crash when queued write fails 2012-03-22 17:09:22 -07:00
Dmitry Nizovtsev
1e9bcf26ce net, http, https: add localAddress option
Binds to a local address before making the outgoing connection.
2012-03-06 13:35:49 +01:00
koichik
cd5d2473a4 net: fix race write() before and after connect()
Fixes #2827.
2012-02-28 19:57:13 +09:00
koichik
63431796f4 net: fix race write() before and after connect()
Fixes #2827.
2012-02-28 19:27:27 +09:00
Mikeal Rogers
d530ee62cd Issue #2762. Add callback to close function. 2012-02-18 17:46:28 -08:00
isaacs
0cdf85e28d Lint all the JavaScripts. 2012-02-18 15:34:57 -08:00
isaacs
a2851b6234 Revert "cluster: propagate bind errors"
This reverts commit 30e462e919.
2012-02-17 12:39:45 -08:00
Ben Noordhuis
30e462e919 cluster: propagate bind errors
This commit fixes a bug where the cluster module failed to propagate EADDRINUSE
errors.

When a worker starts a (net, http) server, it requests the listen socket from
its master who then creates and binds the socket.

Now, OS X and Windows don't always signal EADDRINUSE from bind() but instead
defer the error until a later syscall. libuv mimics this behaviour to provide
consistent behaviour across platforms but that means the worker could end up
with a socket that is not actually bound to the requested addresss.

That's why the worker now checks if the socket is bound, raising EADDRINUSE if
that's not the case.

Fixes #2721.
2012-02-16 23:47:17 +01:00
Ben Noordhuis
8a6576f764 Merge remote-tracking branch 'origin/v0.6'
Conflicts:
	common.gypi
2012-02-12 16:12:26 +01:00
Igor Zinkovsky
c7771bc2ec set readable/writable for pipes 2012-02-10 11:28:43 -08:00
isaacs
116835561d Merge remote-tracking branch 'ry/v0.6'
Conflicts:
	ChangeLog
	deps/v8/src/version.cc
	deps/v8/tools/gyp/v8.gyp
	doc/about/index.html
	doc/community/index.html
	doc/index.html
	doc/logos/index.html
	doc/template.html
	lib/path.js
	lib/querystring.js
	src/node_version.h
2012-02-06 15:43:21 -08:00
koichik
0f0af55a0a net: fix large file downloads failing
Fixes #2678.
2012-02-05 17:41:49 +09:00
Stefan Rusu
4671e54495 net: destroy socket on DNS error
The socket was never destroyed on DNS errors. This broke some clients, including
lib/https.js.
2012-02-04 00:40:53 +01:00
Igor Zinkovsky
db3c4efd1d support for sharing streams accross isolates 2012-01-31 17:45:50 -08:00
Ben Noordhuis
e806ad39d0 net, tls, http: remove socket.ondrain
Replace the ondrain hack with a regular 'drain' listener. Speeds up the
bytes/1024 http benchmark by about 1.2%.
2012-01-24 15:57:50 +01:00
Ryan Dahl
ca2a047b8e Merge remote branch 'origin/v0.6'
Conflicts:
	deps/uv/src/win/util.c
	src/udp_wrap.cc
2012-01-16 15:20:26 -08:00
Ben Noordhuis
f0c1376e07 net: make .write() throw on bad input
Passing a non-buffer or non-string argument to Socket.prototype.write triggered
an assert:

  Assertion failed: (Buffer::HasInstance(args[0])), function Write,
  file ../src/stream_wrap.cc, line 289.

Fixes #2532.
2012-01-14 02:13:24 +01:00
koichik
70033bd960 net: make connect() accept options
This makes API even with tls.connect().
Refs #1983.

See also:
http://groups.google.com/group/nodejs-dev/msg/3b6dbcc4a9a82d99

Fixes #2487.
2012-01-09 02:18:39 +01:00
Andreas Madsen
5f08c3cfa1 cluster improvements: Worker class and isolate internal messages
Fixes #2388
2012-01-04 18:30:19 -08:00
Ben Noordhuis
c24276f008 net: defer net.Server 'close' event to next tick 2011-12-29 19:30:07 +01:00
koichik
a848a3efbf net: fix Socket.pause null reference when called on a closed Stream
Fixes #1980.
2011-12-28 15:13:57 +09:00
Ju-yeong Park
5976d58796 net: raise exception when the socket is closed 2011-12-22 17:25:14 +01:00
James Hartig
348d8cd04a timers: remove _idleTimeout from item in .unenroll()
Stops .active() from reactivating the timer.

Fixes #2114.
2011-12-20 00:57:15 +01:00
Ben Noordhuis
8295c80618 net: check status code in afterWrite
Fixes memory leak and spin on writing to dead fds. This was tested in
production.
2011-12-12 13:45:44 -08:00
isaacs
580e67015c Apply #2257 fix for Pipe streams as well as TTYs 2011-12-06 10:13:31 -08:00
isaacs
cf20b6bf65 Fix #2257 pause/resume semantics for stdin
This makes it so that the stdin TTY-wrap stream gets ref'ed on
.resume() and unref'ed on .pause()

The semantics of the names "pause" and "resume" are a bit weird, but the
important thing is that this corrects an API change from 0.4 -> 0.6
which made it impossible to read from stdin multiple times, without
knowing when it might end up being closed.  If no one has it open, this
lets the process die naturally.

LGTM'd by @ry
2011-12-05 16:47:11 -08:00
isaacs
db273818f6 s/NPM/npm/
http://npmjs.org/doc/faq.html#If-npm-is-an-acronym-why-is-it-never-capitalized
2011-12-05 16:20:44 -08:00
Igor Zinkovsky
99c9d19184 binding for uv_pipe_pending_instances 2011-12-01 13:57:47 -08:00
Ben Noordhuis
03eb41c2ec net: don't emit 'close' event twice
Don't allow `socket.destroy()` to run twice. The self-destruct sequence itself
is idempotent but it makes the 'close' and 'error' events fire more than once,
which may confuse listeners.

Fixes #2223.
2011-12-01 14:57:06 +01:00
Ryan Dahl
86528489ec new cluster api 2011-11-04 15:12:11 -07:00
Ryan Dahl
4a8088a603 Socket.write should reset timeout timer.
Fixes #2002.
2011-11-03 12:37:04 -07:00
Ben Noordhuis
9c11e8a1ca net: implement Server.prototype.address() for pipes 2011-11-03 19:16:10 +01:00
Ryan Dahl
60818b957c Add missing copyright headers 2011-11-02 10:00:57 -07:00
Maciej Małecki
7ee29d1d5b net: Server.listen, Server.close and Socket.connect return this
Just a syntactic sugar for doing, for example:

    var server = net.createServer(function (c) {
      c.end('goodbye, cruel world!\r\n');
      server.close().on('close', function () {
        console.log('really, goodbye!');
      });
    }).listen(1337);

Fixes #1922.
2011-10-24 22:19:42 +09:00
Ben Noordhuis
ac379b3be1 net: bring back .setNoDelay() and .setKeepAlive() 2011-10-21 18:09:23 -07:00
Ryan Dahl
6cc0c9e6a9 Remove superfluous nextTick during server binding
This breaks fork().send({}, server._handle) after server.listen() because
server._handle is not set.
2011-10-18 15:12:18 -07:00
koichik
d6191f593d net: fix error handling in listen()
Fixes #1894.
2011-10-16 01:30:19 +09:00
Ben Noordhuis
0b92fa0e93 net: fix connect queue bugs
This commit fixes two bugs in the handling of write requests when the connect()
call is still in progress.

1. The deferred write request's size was counted twice towards `.bytesWritten`.

2. The callback was not called. After connecting, `Socket.write()` was called
   with three arguments (data, encoding, cb) but it ignored the third argument.

Coincidentally fixes test/simple/test-net-connect-buffer.js.
2011-10-15 03:34:09 +02:00
Ben Noordhuis
6df574b744 net: properly account multi-byte chars in .bytesWritten 2011-10-15 03:24:34 +02:00
Simen Brekken
4b0e36810a net: register net.Server callback only once
Only register once for listening when passing a callback to Server.listen(),
this prevents servers recycled using close() from invoking the callback when
Server.listen() is called later.
2011-10-13 16:09:14 +02:00
Ryan Dahl
25ff181300 Revert some changes made in 12486a6
Some of the perf improvements from many-writes-fix branch were accidentally
undone in that commit. This puts them back in.
2011-10-12 12:49:58 -07:00
Ryan Dahl
87339a22b1 introduce node cluster 2011-10-12 02:58:35 -07:00
Ryan Dahl
be0bb2dc13 Remove net_legacy timers_legacy 2011-10-11 13:11:54 -07:00
Ryan Dahl
710f8e2acc Add --use-uv command-line flag to use libuv backend 2011-06-17 13:51:40 +02:00
Felix Geisendörfer
f0a440d886 Remove 'connect' event from server side sockets
Sockets emitted by the 'connection' event are always connected, having
them emit the 'connect' event makes no sense. It only confused people,
as it's not clear if you have to listen to 'connect' or not.

That try..catch block was also very scary. It would silently swallow
exceptions in 'connect' listeners and destroy the socket. Makes no
sense.

Fixes #1047.
2011-05-24 11:22:59 -07:00
Ryan Dahl
9e6498d5fa Merge branch 'v0.4'
Conflicts:
	src/node_version.h
2011-04-18 18:58:16 -07:00
Ryan Dahl
8417870f51 Don't emit error on ECONNRESET - just close
Fix #670
2011-04-14 10:42:57 -07:00
Ryan Dahl
598792ba91 Merge branch 'v0.4'
Conflicts:
	src/platform_sunos.cc
	test/simple/test-os.js
2011-04-14 01:11:21 +00:00
Brian White
ac1da4b407 Add remoteAddress and remotePort for client TCP connections
https://groups.google.com/d/topic/nodejs-dev/Asr87_YFSkg/discussion
2011-04-13 10:24:28 -07:00
Ryan Dahl
9ccf0e527f Don't error on ENOTCONN from shutdown() 2011-04-11 15:33:24 -07:00
Ryan Dahl
7a8c729830 Merge branch 'v0.4'
Conflicts:
	src/node_version.h
2011-03-22 13:12:07 -07:00
Ryan Dahl
d7a86ff05e Fix GH-819. Drop out if connection destroyed before connect() 2011-03-21 14:48:26 -07:00
Daniel Ennis
911cbd0cef Add support for file descriptor type detection.
setImplementationMethods checks the type of a socket and defines different
behavior based on the type, so auto detect it if type not implicitly
specified.
2011-03-17 10:35:47 -07:00
Ryan Dahl
55048cdf79 Update copyright headers 2011-03-14 17:37:05 -07:00
koichik
414fa4abae Better type checks for fd in net.js 2011-03-11 16:34:12 -08:00
koichik
113b1e6e0c Fix GH-746 process.stdin.destroy() breaks http server 2011-03-11 16:33:07 -08:00
Andreas Reich
5e91042fcb Don't decrease server connection counter again if destroy() is called more than once
Test: Anders Conbere <aconbere@gmail.com>
Fix: Andreas Reich <andreas@reich.name>

Closes GH-431.
Closes GH-502.
2011-03-04 15:45:12 -08:00
Ryan Dahl
e9257b859d New DTrace probes from CA team 2011-02-09 18:50:26 -08:00
Ryan Dahl
a48a075535 better debug messages in net and tls 2011-02-09 10:23:26 -08:00
Ryan Dahl
4733d0b1f0 http: handle aborts 2011-02-04 18:07:00 -08:00
Ryan Dahl
9f3a20c76d net: Add hook for when writeQueue changes 2011-01-31 11:01:59 -08:00
Ryan Dahl
6ede26cb9c Add socket.bufferSize 2011-01-31 10:41:52 -08:00
Ryan Dahl
bfb6a67d60 Another fix for process.assert 2011-01-27 16:59:28 -08:00
Ali Farhadi
c70dd70301 Adding callback parameter to Socket's setTimeout method. 2011-01-26 12:13:03 -08:00
Ryan Dahl
068b733583 Land Cantrill's DTrace patch
only works on solaris
2011-01-24 18:59:06 -08:00
Ryan Dahl
9e976abad9 lint 2011-01-24 10:55:30 -08:00
Ryan Dahl
b22b5e341b listen/bind errors should close net.Server 2011-01-18 16:22:43 -08:00
Bert Belder
0eb4c2157d Define winsock error numbers 2011-01-18 04:58:30 +01:00
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.
2011-01-12 13:29:45 -08:00
Ryan Dahl
5f795efd4e net: Timeouts should work before DNS resolution 2011-01-12 12:59:58 -08:00
Ryan Dahl
33c33949b2 Add test for connection timeouts
Also make socket.end() destroy connection if still trying to connect.
Previously was ignoring.
2011-01-12 10:57:03 -08:00
Ryan Dahl
5a05992155 Lint 2011-01-06 16:06:27 -08:00
Ryan Dahl
b62152bc84 Rename net.Stream to net.Socket 2011-01-05 11:53:56 -08:00
Ryan Dahl
bc1d758408 net.js: Check that readWatcher exists before pause, resume 2011-01-04 11:25:36 -08:00
Ryan Dahl
2957382991 Implement new stream method, destroySoon
Still missing on fs.WriteStream
2011-01-04 11:22:19 -08:00
Ryan Dahl
e4dd5cd6fd NODE_DEBUG uses strings instead of bitflags 2011-01-03 15:41:58 -08:00
Ryan Dahl
632da2a393 Add callback paramenter to socket.connect() 2010-12-15 15:57:41 -08:00
Ryan Dahl
c4161f32f5 Add callback to socket.write() 2010-12-15 15:47:02 -08:00
Ryan Dahl
c970968ee6 better option parsing for socket.write() 2010-12-15 15:15:27 -08:00
Ryan Dahl
92789b16e5 Fix global leaks 2010-12-04 16:36:21 -08:00
Ryan Dahl
e232f6e735 more lint 2010-12-01 20:28:28 -08:00
Ryan Dahl
ec1589875c Stop watcher before calling .set() in Stream.prototype.resume 2010-12-01 12:52:34 -08:00
Ryan Dahl
a6f6532dfb Fix test-securepair-server 2010-11-23 18:30:52 -08:00
Ryan Dahl
2320497992 Revert "Merge branch 'writev'"
This reverts commit cd9515efd9, reversing
changes made to df46c8e698.

Too slow. Needs more work.
2010-11-20 20:55:15 -08:00
Ryan Dahl
1f18648394 Fix typo 2010-11-18 16:47:38 -08:00
Ryan Dahl
2ba3c10d62 Only try to flush big buffers once 2010-11-18 16:47:38 -08:00
Ryan Dahl
849792e46b Add todo about test-pipe.js and throwing on resume() 2010-11-18 16:47:38 -08:00
Ryan Dahl
544877d12e Fix socket.end() problem on non-empty queue 2010-11-18 16:47:38 -08:00
Ryan Dahl
3884b4185a Small clean ups 2010-11-18 16:47:38 -08:00
Ryan Dahl
02039c9b53 'connect' event may disconnect socket 2010-11-18 16:47:38 -08:00
Ryan Dahl
fa556a1425 Add callback to socket.write(), fix test-sendfds 2010-11-18 16:47:38 -08:00
Ryan Dahl
a6d8425382 make sure unix sockets are tagged correctly 2010-11-18 16:47:38 -08:00
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
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.
2010-07-03 08:18:42 +02:00
Blake Mizerany
8c8534046c fix whitespace errors 2010-06-29 23:59:24 -07:00
Ryan Dahl
7b119f8b38 Fix error message 2010-06-23 09:09:15 -07:00
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.
2010-06-15 18:19:27 -07:00
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.
2010-06-15 15:10:30 -07:00
Ryan Dahl
14414f81f3 Soft deprecation of 'listening' event.
Add callback param to listen() instead
2010-06-15 12:38:25 -07:00
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.
2010-06-08 18:09:17 -07:00
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.
2010-06-07 10:13:30 -07:00
Ryan Dahl
62d9bff06b Fix ability to disable TCP timeouts with setTimeout(0) 2010-06-03 11:01:47 -07:00
Peter Griess
8f0b4e9111 Send and receive file descriptors through net.Stream.
a) create a layer of indirection in net.Stream to allow swapping in
different read/write implementations and

b) emit an 'fd' event when file descriptors are received over a UNIX pipe,
as finally as a tangential benefit

c) remove a bunch of conditionals from the primary codepaths for
ease-of-reading.
2010-06-02 18:16:53 -07:00
Ryan Dahl
74b7fa29a1 Refactor HTTP
Allow throttling from outgoing messages.
2010-05-27 20:41:57 -07:00
Ryan Dahl
cbd2c3945b Throwing in a callback should kill the process
There is a difference between errors which happen to a socket - like
receiving EPIPE - an exceptional situation but ultimately okay and the
situation where code throws in a callback - which is not okay.

Fixes test/simple/test-http-exceptions.js

TODO: explain this in docs.
2010-05-20 15:23:36 -07:00
Felix Geisendörfer
ed5f1162fa Use Utf8Stream for net Streams with utf8 encoding 2010-05-18 01:02:15 -07:00
Ryan Dahl
d2cff34fa3 Idle timeout changes
- setTimeout should active the timeout too. (test-net-set-timeout tests
  this.)

- 'timeout' event is not automatically followed by an 'error' event. That
  is the user is now responsible for destroying the stream if there is an
  idle timeout.
2010-05-12 10:06:13 -07:00
Ryan Dahl
1d28cfcfb9 Better logic for testing if an argument is a port
If you did server.listen('123') it would open a socket in the current
directory called 123. Now it will interpret it as a port.
2010-05-09 12:10:42 -07:00
Ryan Dahl
d044e2de07 Lazy load crypto
The whole program is being slowed down by the large CA string in crypto.
Why?
2010-05-04 14:21:14 -07:00
Rhys Jones
afce4c3ae8 Added default CAs, updated openssl verify behaviour, added crypto and https documentation 2010-05-04 14:12:54 -07:00
Paulo Matias
430cfd1825 Read all records to always empty the OpenSSL reading buffer. 2010-05-03 16:11:42 -07:00
Ryan Dahl
301b44d45d Chunk strings together on Stream buffer 2010-04-29 12:00:37 -07:00
Ryan Dahl
e235aae018 Fix bug in socket write optimization
Thanks to tlb@tlb.org for finding it!
2010-04-26 20:26:43 -07:00
Ryan Dahl
16f02403f8 Catch errors from stream events in net.js
Pipe into 'error' event.
2010-04-23 14:08:54 -07:00
Ryan Dahl
6abdf051d3 Unhandled 'error' events kill program
By default 'error' throws. addListener to prevent this.
2010-04-22 17:22:06 -07:00
Julian Lamb
5f8f561d61 add setKeepAlive function, which enables and sets the TCP keep-alive timer 2010-04-20 16:34:21 -07:00
Rhys Jones
e6a1091cc6 Merge branch 'master' into openssl 2010-04-15 10:56:42 +01:00
Ryan Dahl
2ad587cc35 Default to UTF8 on stream write 2010-04-15 02:09:51 -07:00
Ryan Dahl
5281f29012 Use new method of getting chars written for UTF8 2010-04-15 02:09:51 -07:00
Rhys Jones
d27d6dcc6f Merge branch 'master' into openssl 2010-04-15 06:21:15 +01:00
Rhys Jones
fbad5dc062 Updated https support 2010-04-15 06:17:22 +01:00
Ryan Dahl
684740c232 net.js: Slice the right buffer in _writeOut 2010-04-14 00:41:56 -07:00
Rhys Jones
144200435f Merge branch 'master' into openssl
Conflicts:
	lib/net.js
	wscript
2010-04-14 07:31:33 +01:00
Ryan Dahl
71dc232f93 Use === instead of == for END_OF_FILE compares
This caused a very hard to track down bug. Thanks to Mikeal Rogers for this
fix. Unfortunately we were unable to put together a test case.
2010-04-13 15:56:08 -07:00
Micheil Smith
57ea07ac91 Moving the http.js, net.js FreeList to being standalone. 2010-04-12 16:57:45 -07:00
Rhys Jones
80174392bb Moved Credentials into crypto module. Added node_crypto into crypto module 2010-04-12 21:25:16 +01:00
Ryan Dahl
4681e34c1e Fix a race condition or two in net.js
When making a TCP connection, readyState returns 'opening' while resolving
the host. However between the resolving period and the establishing a
connection period, it would return 'closed'. This fixes it.

This change also ensures that the socket is closed before the 'end' event is
emitted in the case that the socket was previously shutdown.
2010-04-12 12:38:11 -07:00
Matt Ranney
715e119eea Fix typo in comments. 2010-04-11 15:47:29 -07:00
isaacs
57fbb627ca trailing whitespace fixes 2010-04-11 14:48:23 -07:00
Ryan Dahl
9331218449 Servers shouldn't die on EMFILE 2010-04-09 10:44:13 -07:00
Ryan Dahl
08a09bb50a Use some more Binary/F methods for Buffer 2010-04-08 16:31:02 -07:00
Ryan Dahl
50c70ac714 Update stream API: forceClose() -> destroy(), close() -> end() 2010-04-08 12:24:29 -07:00
Ryan Dahl
7a6b5635eb Revert "Enable TCP timeout by default"
Causing programs to not exit gracefully.

This reverts commit cb84cde4d4.
2010-04-08 07:19:42 -07:00
Ryan Dahl
cb84cde4d4 Enable TCP timeout by default 2010-04-08 00:59:57 -07:00
Ryan Dahl
d923c94a0c Remove udns 2010-04-07 18:25:37 -07:00
Ryan Dahl
33e774eeba Use c-ares in lib/net.js 2010-04-07 16:05:07 -07:00
Ryan Dahl
eac3dc9d5f Bugfix: net.js flushing, _doFlush typo 2010-04-07 11:47:46 -07:00
Ryan Dahl
53dd9fe200 Fix bug in buffer.utf8Write() which included \u0000 2010-04-05 18:10:36 -07:00
Ryan Dahl
1b758ef268 Allow stream to write on close 2010-04-05 16:50:05 -07:00
Ryan Dahl
129310676d Fix style in SSL patch 2010-04-02 17:30:49 -07:00
Rhys Jones
fb3a9cd0d8 Initial openssl support for net2 2010-04-02 17:13:54 -07:00
Ryan Dahl
ae805f1057 Emit 'error' on tcp connection DNS error 2010-04-02 16:15:53 -07:00
Ryan Dahl
53530e981a Fix test-http-chunked. Need to check for \0 at end of utf8 strings 2010-04-02 14:55:28 -07:00
Ryan Dahl
b9106b0ecd Use AF_INET sockets instead of always AF_INET6
You can get AF_INET6 still, it's just not the only choice.
2010-04-02 13:20:56 -07:00
Ryan Dahl
fdae14070c Move buffer constants at the top of net.js
Remove some cruft.
2010-04-01 16:46:37 -07:00
Ryan Dahl
e232cf3100 Hack to support UTF8 writes again! 2010-04-01 16:24:36 -07:00
Ryan Dahl
3197cf291d Better flushing
Lost Utf8 support. Waiting for http://codereview.chromium.org/1539013
2010-04-01 15:53:48 -07:00
Herbert Vojcik
da16128bf6 missing return after forceClose 2010-03-31 08:13:03 -07:00
Ryan Dahl
d1b78c3f5d More efficient Stream.write 2010-03-27 14:07:43 -07:00
Ryan Dahl
7ed80451ca Increase pool.used before making 'data' event 2010-03-26 08:35:12 -07:00
Ryan Dahl
8e9ec4abea Fix idle timeouts
Remove process.now because it doesn't provide enough precision.
2010-03-23 20:54:19 -07:00
Ryan Dahl
3238944c7a Don't use sys.puts for debug in net.js 2010-03-23 18:10:13 -07:00
Ryan Dahl
c66a0a739f recvBuffer -> pool 2010-03-19 23:09:16 -07:00
Ryan Dahl
04001fb591 Don't deprecate readyState, yet 2010-03-19 21:51:07 -07:00
Ryan Dahl
139c91e892 Support old 'binary' encoding in net.js 2010-03-19 21:25:29 -07:00
Ryan Dahl
025116f8d0 Move Buffer into own module 2010-03-19 20:58:24 -07:00
Ryan Dahl
ac684f3583 Add legacy 'binary' encoding/decoding methods to Buffer 2010-03-19 20:33:09 -07:00
Ryan Dahl
776c3e2b29 Add note about Buffer abstraction 2010-03-19 12:08:57 -07:00
Ryan Dahl
3a993d8897 Buffer.utf8ByteLength -> Buffer.byteLength 2010-03-19 12:02:59 -07:00
Ryan Dahl
3e969f0f74 Random net.js clean ups 2010-03-19 11:46:35 -07:00
Ryan Dahl
f8c3b6009d Remove send fd functionality
It was broken anyway. It will go into its own class later.
2010-03-19 11:34:26 -07:00
Ryan Dahl
90295d9fce [net2] inline write on empty write buffer for performance 2010-03-19 02:24:16 -07:00
Ryan Dahl
916e057fea Add 'opening' readyState 2010-03-18 14:33:42 -07:00
Ryan Dahl
1332cafb7c s/Socket/Stream/g 2010-03-17 16:31:24 -07:00
Ryan Dahl
04c06b9149 child process now use net.Socket 2010-03-17 14:00:17 -07:00
Ryan Dahl
953fa3a5f5 Move net2 bindings out of process 2010-03-15 16:44:50 -07:00
Ryan Dahl
fdf46a65c9 Use streams for stdout and stdin 2010-03-15 15:11:40 -07:00
Ryan Dahl
cbfd4da818 Merge branch 'master' into net2
Conflicts:
	src/node.cc
2010-03-15 14:34:01 -07:00
Ryan Dahl
96f08cf05c Work on net2 http client 2010-03-12 18:39:02 -08:00
Ryan Dahl
aa6eaae0aa Simplify Socket constructor 2010-03-12 13:06:05 -08:00
Ryan Dahl
3adf7a3dcf TCP timeout opt-in instead of opt-out
For speed, idle connections are super cheap.
2010-03-12 12:39:37 -08:00
Ryan Dahl
b94af8d6b1 Only print readyState deprication message once 2010-03-12 12:34:25 -08:00
Ryan Dahl
ca862d75de [net2] Add Socket.setTimeout
Still seeing crashes and performance problems.
2010-03-11 12:43:32 -08:00
Ryan Dahl
0918bb2070 Adjust a few more tests to work with net2 2010-03-09 18:37:23 -08:00
Ryan Dahl
c1a0ade7e7 Further net2 compatibilities 2010-03-09 16:27:49 -08:00
Ryan Dahl
264a67aed2 Update net.js for new stream API 2010-03-09 11:59:42 -08:00
Ryan Dahl
7bd3280cc2 process.inherits -> sys.inherits in net.js 2010-03-02 10:59:19 -08:00
Ryan Dahl
16e32c8fd9 Allow for net reconnects 2010-02-26 12:13:49 -08:00
Ryan Dahl
b6edae5671 Expose errno exception creation 2010-02-08 07:36:40 -08:00
Ryan Dahl
979f5889d5 Optimize: Use callbacks instead of events in net2 2010-02-05 20:14:48 -08:00
Ryan Dahl
d979a7993e Wrap syscalls with try-catch 2010-02-05 19:47:16 -08:00
Ryan Dahl
33509bdbe5 eof -> end 2010-02-01 18:19:14 -08:00
Ryan Dahl
4f56d8ae24 Rename Buffer.utf8Length to Buffer.utf8ByteLength 2010-02-01 13:10:37 -08:00
Ryan Dahl
344243db92 Simplify send buffer logic 2010-01-28 19:13:13 -08:00
Ryan Dahl
aadce8e1a9 Optimize, clean up net2 net.js and http2.js 2010-01-28 14:31:57 -08:00
Ryan Dahl
824a2fd1c6 Clean up a few bugs in net.js 2010-01-26 18:36:24 -08:00
Ryan Dahl
741e3fa91b HTTP works somewhat on net2 now
However it's not working very well: Hitting a 'hello world' server with many
requests (ab -t 60 -c 10) will cause it to crash with the following error.

  Obtained 3 stack frames.

  ./node(_Z11print_tracev+0x1c) [0x80d1b3c]
  ./node(_ZN4node6Parser7ExecuteERKN2v89ArgumentsE+0x69) [0x80d3759]
  ./node [0x811f44b]
  TypeError: Already parsing a buffer
      at Socket.<anonymous> (/home/ryan/projects/node/lib/http2.js:393:20)
      at IOWatcher.callback (/home/ryan/projects/node/lib/net.js:81:12)
      at node.js:985:9
      at node.js:989:1
2010-01-25 17:55:08 -08:00
Ryan Dahl
df59f06734 recvMsg shouldn't return array for efficiency. 2010-01-13 08:41:04 -08:00
David Sklar
a876df6c71 Initial take on passing FDs between processes 2010-01-09 01:28:19 -08:00
Ryan Dahl
20eec646b3 [net2] add unix server to ping-pong test 2009-12-30 11:51:43 -08:00
Ryan Dahl
8d0f756158 [net2] delete unix sockfile on server start and shutdown 2009-12-30 11:32:07 -08:00
Ryan Dahl
a8ede8dd9e [net2] port ping pong test 2009-12-30 10:58:46 -08:00
Ryan Dahl
0d31e9875f [net2] socket.setNoDelay 2009-12-30 10:43:47 -08:00
David Sklar
de9bfdea8e [net2] toRead() for non-linux (SIOCINQ -> FIONREAD) 2009-12-30 10:06:40 -08:00
Ryan Dahl
402755b14a Add socket.address() 2009-12-30 00:57:55 -08:00
Ryan Dahl
2582560f91 [net2] Do hostname lookups in connect and listen 2009-12-30 00:53:14 -08:00
Ryan Dahl
07333a4ab0 [net2] Set FD_CLOEXEC on created socket fds. 2009-12-29 21:12:32 +01:00
Ryan Dahl
48ccbb9afa [net2] lower-case socket.type 2009-12-29 21:12:32 +01:00
Ryan Dahl
25700e65ee [net2] Better EOF marking, rename events 2009-12-29 21:12:32 +01:00
Ryan Dahl
153b755936 Change IOWatcher constructor to have no arguments 2009-12-29 21:12:32 +01:00
Ryan Dahl
6e5abf4551 implement getaddrinfo 2009-12-29 21:12:31 +01:00
Ryan Dahl
0618f02f6f Implement half-closed streams 2009-12-29 21:12:31 +01:00
Ryan Dahl
b23ed4a98c Rename new streaming code to 'net' 2009-12-29 21:12:31 +01:00