- Feb 08, 2013
-
-
isaacs authored
Fix #4727 Fix einaros/ws#159
-
- Feb 07, 2013
-
-
Nikhil Marathe authored
http.ServerRequest and http.ClientResponse are merged into http.IncomingMessage which has fields for both, and acts as a Readable Stream and EventEmitter. Fixes #3851.
-
isaacs authored
Conflicts: AUTHORS ChangeLog 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/dedupe.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/global.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/ls.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/rm.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/man/man1/global.1 deps/npm/man/man1/ls.1 deps/npm/man/man1/npm.1 deps/npm/man/man1/rm.1 deps/npm/man/man3/npm.3 deps/npm/node_modules/glob/glob.js deps/npm/node_modules/glob/package.json deps/npm/node_modules/node-gyp/package.json deps/npm/node_modules/npm-registry-client/package.json deps/npm/node_modules/npmconf/package.json deps/npm/node_modules/read-installed/package.json deps/npm/node_modules/rimraf/package.json deps/npm/node_modules/rimraf/rimraf.js deps/npm/package.json deps/uv/src/win/error.c doc/api/crypto.markdown lib/zlib.js src/node_version.h src/node_zlib.cc test/simple/test-buffer.js
-
Ben Noordhuis authored
This is commit 01ee551e, except for the DataView type this time. Make the behavior of DataView consistent with that of typed arrays: make a copy of the backing store.
-
Fedor Indutny authored
-
isaacs authored
-
isaacs authored
-
isaacs authored
-
isaacs authored
* npm: Upgrade to v1.2.10 * zlib: pass object size hint to V8 (Ben Noordhuis) * zlib: reduce memory consumption, release early (Ben Noordhuis) * buffer: slow buffer copy compatibility fix (Trevor Norris) * zlib: don't assert on malformed dictionary (Ben Noordhuis) * zlib: don't assert on missing dictionary (Ben Noordhuis) * windows: better ipv6 support (Bert Belder) * windows: add error mappings related to unsupported protocols (Bert Belder) * windows: map ERROR_DIRECTORY to UV_ENOENT (Bert Belder)
-
isaacs authored
-
Fedor Indutny authored
Otherwise sockets that are 'finish'ed won't be unpiped and `writing to ended stream` error will arise. This might sound unrealistic, but it happens in net.js. When `socket.allowHalfOpen === false`, EOF will cause `.destroySoon()` call which ends the writable side of net.Socket.
-
- Feb 06, 2013
-
-
Ben Noordhuis authored
Check that having a worker bind to a port that's already taken doesn't leave the master process in a confused state. Releasing the port and trying again should Just Work[TM].
-
Ben Noordhuis authored
Follow browser behavior, only share the backing store when it's a ArrayBuffer. That is: var abuf = new ArrayBuffer(32); var a = new Int8Array(abuf); var b = new Int8Array(abuf); a[0] = 0; b[0] = 1; assert(a[0] === b[0]); // a and b share memory But: var a = new Int8Array(32); var b = new Int8Array(a); a[0] = 0; b[0] = 1; assert(a[0] !== b[0]); // a and b don't share memory The typed arrays spec allows both `a[0] === b[0]` and `a[0] !=== b[0]` but Chrome and Firefox implement the behavior where memory is not shared. Copying the memory is less efficient but let's do it anyway for the sake of the Principle of Least Surprise. Fixes #4714.
-
Bryan Cantrill authored
Fixes #4010.
-
Nathan Rajlich authored
This is more backwards-compatible with stream1 streams like `fs.WriteStream` which would allow a callback function to be passed in as the only argument. Closes #4719.
-
Ben Noordhuis authored
Fixes #4716.
-
Ben Noordhuis authored
Inform V8 that the zlib context object is tied to a large off-heap buffer. This makes the GC run more often (in theory) and improves the accuracy of --trace_external_memory.
-
Ben Noordhuis authored
In zlibBuffer(), don't wait for the garbage collector to reclaim the zlib memory but release it manually. Reduces memory consumption by a factor of 10 or more with some workloads. Test case: function f() { require('zlib').deflate('xxx', g); } function g() { setTimeout(f, 5); } f(); Observe RSS memory usage with and without this commit. After 10,000 iterations, RSS stabilizes at ~35 MB with this commit. Without, RSS is over 300 MB and keeps growing. Cause: whenever the JS object heap hits the high-water mark, the V8 GC sweeps it clean, then tries to grow it in order to avoid more sweeps in the near future. Rule of thumb: the bigger the JS heap, the lazier the GC can be. A side effect of a bigger heap is that objects now live longer. This is harmless in general but it affects zlib context objects because those are tied to large buffers that live outside the JS heap, on the order of 16K per context object. Ergo, don't wait for the GC to reclaim the memory - it may take a long time. Fixes #4172.
-
- Feb 05, 2013
-
-
Ben Noordhuis authored
Using Socket.prototype.connect() to reconnect an existing Socket object is not reliable. Users should just create a new Socket object. See #4698.
-
- Feb 03, 2013
-
-
isaacs authored
-
- Feb 02, 2013
-
-
Ben Noordhuis authored
Move the implementation to C++ land. This is similar to commit 3f65916f but this time for the write() function and the Buffer(s, 'hex') constructor. Speeds up the benchmark below about 24x (2.6s vs 1:02m). var s = 'f'; for (var i = 0; i < 26; ++i) s += s; // 64 MB Buffer(s, 'hex');
-
isaacs authored
If the NODE_DEBUGGER_TIMEOUT environment variable is set, then use that as the number of ms to wait for the debugger to start. This is primarily to work around a race condition that almost never happens in real usage with the debugger, but happens EVERY FRACKING TIME when the debugger tests run as part of 'make test'.
-
Ben Noordhuis authored
Move the implementation to C++ land. The old JS implementation used string concatenation, was dog slow and consumed copious amounts of memory for large buffers. Example: var buf = Buffer(0x1000000); // 16 MB buf.toString('hex') // Used 3+ GB of memory. The new implementation operates in O(n) time and space. Fixes #4700. -
isaacs authored
-
Ben Noordhuis authored
Report the aforementioned DNS server failure codes as-is, stop c-ares from reporting them as ARES_ECONNREFUSED. Reported by Steve Freegard.
-
- Feb 01, 2013
-
-
isaacs authored
Those values, if passed to the _read() cb, will not signal an EOF. Only null or undefined will mark the end of data, and trigger the end event. However, great care must be taken if you are returning an empty string or buffer! There must be some other thing somewhere that will trigger a read() call, because there will never be a readable event fired later. This is in preparation for CryptoStreams being ported to streams2, where it is safe to simply stop reading, because the crypto cycle process will cause it to read(0) again at some future date.
- Jan 31, 2013
-
-
Bert Belder authored
-
isaacs authored
-
- Jan 30, 2013
-
-
isaacs authored
-
Ben Noordhuis authored
Make the casing consistent with the other os.* functions but keep os.tmpDir() around as an alias.
-
isaacs authored
Fixes #3305
-
Ben Noordhuis authored
Make lines ending \r\n emit one 'line' event, not two (where the second one is an empty string). This adds a new keypress name: 'return' (as in: 'carriage return'). Fixes #3305.
-
- Jan 29, 2013
-
-
isaacs authored
Always defer the _write callback. The optimization here was only relevant in some oddball edge cases that we don't actually care about. Our benchmarks confirm that just always deferring the Socket._write cb is perfectly fine to do, and in some cases, even slightly more performant.
-
Bert Belder authored
When a datagram socket hasn't been bound yet, node will defer `send()` operations until binding has completed. Before this patch a `listening` listener would be installed every time `send` was called. This triggered an EventEmitter leak warning when more than 10 packets were sent in a tight loop. Therefore switch to using a single `listening` listener, and use an array to enqueue outbound packets.
-
Bert Belder authored
-
Fedor Indutny authored
Doing this in net.Socket constructor has much more overhead, and error is actually may happen before the construction of socket object.
-
isaacs authored
The better to reduce the hidden classes
-
isaacs authored