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