Commit Graph

7604 Commits (dc0c524ce681f53e2bd8f0974ed6aa3fd910054d)

Author SHA1 Message Date
isaacs b15e19a232 streams2: Remove function.bind() usage
It's too slow, unfortunately.
2012-12-13 17:00:32 -08:00
isaacs 2ff499c022 streams2: Do multipipe without always using forEach
The Array.forEach call is too expensive.
2012-12-13 17:00:32 -08:00
isaacs c2f62d496a test: Update stream2 transform for corrected behavior 2012-12-13 17:00:32 -08:00
isaacs 0118584433 streams2: Writable organization, add 'finishing' flag 2012-12-13 17:00:31 -08:00
isaacs 286c54439a streams2: Only emit 'readable' when needed 2012-12-13 17:00:31 -08:00
isaacs 62dd04027b streams2: Set Readable lwm to 0 by default 2012-12-13 17:00:31 -08:00
isaacs f20fd22abd streams2: Add high water mark for Readable
Also, organize the numeric settings a bit on the ReadableState class
2012-12-13 17:00:30 -08:00
isaacs 63ac07b32b streams2: Export Readable/Writable State classes 2012-12-13 17:00:30 -08:00
isaacs 5856823223 streams2: Fix duplex no-half-open logic 2012-12-13 17:00:29 -08:00
isaacs 286aa04910 streams2: Abstract out onread function 2012-12-13 17:00:29 -08:00
isaacs f624ccb475 streams2: Use StringDecoder.end 2012-12-13 17:00:29 -08:00
isaacs cf0b4ba410 streams2: flow() is not always bound to src 2012-12-13 17:00:28 -08:00
isaacs acfb0ef908 test: fixture for streams2 testing 2012-12-13 17:00:28 -08:00
isaacs e82d06bef9 streams2: Fix regression from Duplex ctor assignment 2012-12-13 17:00:28 -08:00
isaacs f3e71eb417 test: Writable bufferizing, non-bufferizing, and callbacks 2012-12-13 17:00:27 -08:00
isaacs 71e2b61388 streams2: Support write(chunk,[encoding],[callback]) 2012-12-13 17:00:27 -08:00
isaacs 0678480b57 streams2: Allow Writables to opt out of pre-buffer-izing 2012-12-13 17:00:27 -08:00
isaacs 545f512619 streams2: ctor guards on Stream classes 2012-12-13 17:00:26 -08:00
isaacs 9b1b85490b streams2: Tests of new interfaces 2012-12-13 17:00:26 -08:00
isaacs 8acb416ad0 streams2: Handle immediate synthetic transforms properly 2012-12-13 17:00:26 -08:00
isaacs 06e321d0f9 streams2: Correct drain/return logic
It was testing the length *before* adding the current chunk, which
is the opposite of correct.

Also, the return value was flipped.
2012-12-13 17:00:25 -08:00
isaacs 02f017d24f streams2: Allow 0 as a lowWaterMark value 2012-12-13 17:00:25 -08:00
isaacs caa853bb06 transform: Automatically read() on _write when read buffer is empty 2012-12-13 17:00:25 -08:00
isaacs 3b59fd70f4 streams2: Make Transform streams pull-style
That is, the transform is triggered by a _read, not by a _write.

This way, backpressure works properly.
2012-12-13 17:00:24 -08:00
isaacs 9b5abe5bfe streams2: setEncoding and abstract out endReadable 2012-12-13 17:00:24 -08:00
isaacs 51a52c43a2 streams2: Set flowing=true when flowing 2012-12-13 17:00:24 -08:00
isaacs 639fbe28d1 streams2: Convert strings to buffers before passing to _write() 2012-12-13 17:00:23 -08:00
isaacs 420e07c577 streams2: The new stream base classes 2012-12-13 17:00:23 -08:00
isaacs 17834ed28c Add 'stream' as a native module in repl 2012-12-13 17:00:23 -08:00
isaacs 372cb32dc4 module: Support cycles in native module requires 2012-12-13 17:00:23 -08:00
isaacs 314c6b3060 Don't allow invalid encodings in StringDecoder class 2012-12-13 17:00:22 -08:00
isaacs 77ed12fe7a Merge remote-tracking branch 'ry/v0.8' into master
Conflicts:
	AUTHORS
	ChangeLog
	deps/uv/test/test-spawn.c
	deps/uv/uv.gyp
	src/cares_wrap.cc
	src/node.cc
	src/node_version.h
	test/simple/test-buffer.js
	tools/gyp/pylib/gyp/common.py
	tools/install.py
2012-12-13 16:57:58 -08:00
isaacs 45cdb0e4c1 blog: Post for 0.8.16 2012-12-13 11:50:47 -08:00
isaacs 953673424a Now working on 0.8.17 2012-12-13 11:50:35 -08:00
isaacs a18507ce11 Merge commit 'v0.8.16' into v0.8 2012-12-13 11:50:15 -08:00
isaacs 1c9c6277d5 2012.12.13, Version 0.8.16 (Stable)
* npm: Upgrade to 1.1.69

* fs: fix WriteStream/ReadStream fd leaks (Ben Noordhuis)

* crypto: fix leak in GetPeerCertificate (Fedor Indutny)

* buffer: Don't double-negate numeric buffer arg (Trevor Norris)

* net: More accurate IP address validation and IPv6 dotted notation. (Joshua Erickson)
2012-12-13 11:49:39 -08:00
Ben Noordhuis 6cf68aead6 deps: upgrade libuv to e079a99 2012-12-13 20:23:01 +01:00
isaacs b09f97068e npm: Upgrade to v1.1.69 2012-12-12 14:41:28 -08:00
Ben Noordhuis d65832ccd0 fs: fix WriteStream fd leak
Close the file descriptor when a write operation fails.

Fixes #4387.
2012-12-12 09:46:22 +01:00
Ben Noordhuis 6e97b2cc17 fs: fix ReadStream fd leak
Close the file descriptor when a read operation fails.

Fixes #4387.
2012-12-12 09:46:22 +01:00
Ben Noordhuis 65d824b488 test: add common.mustCall function
Verifies that the callback gets invoked <n> times during the lifetime of the
test script.

This is a back-port of commit d0e6c3f from the master branch.
2012-12-12 09:46:09 +01:00
isaacs 92e92b0215 doc: Add nodejstr to community page 2012-12-10 16:56:49 -08:00
Ryunosuke SATO 0506d294dc events: fix typos in code comment
- newListeners -> newListener
2012-12-10 13:08:26 +01:00
Ryunosuke SATO eb502205d5 events: setMaxListeners() should not have side effects
This object initialization has been unnecessary since 12cf730b.

Ref #3803.
2012-12-10 13:07:35 +01:00
Ryunosuke SATO 1c7acd2c84 events: use assigned variable instead of arguments
Always `arguments[0]` is used when `EventEmitter#emit` called.
Using assigned variable is faster than `arguments[0]`.
2012-12-10 13:04:46 +01:00
Ryunosuke SATO 0397223ab4 events: use null assignment instead of deleting property 2012-12-10 08:59:14 +01:00
Bert Belder 3c293ba272 http: protect against response splitting attacks 2012-12-07 17:13:51 -08:00
isaacs 0e95ea42ce lint
introduced in 5b65638.
2012-12-07 16:58:16 -08:00
isaacs 33fa740577 fs: Raise error when null bytes detected in paths
Reworking of @bnoordhuis's more aggressive approach.
2012-12-07 16:52:46 -08:00
Ben Noordhuis c79fd0e167 doc: remove broken require.extensions example
Fixes #4384.
2012-12-06 21:58:36 +01:00