Also, you probably don't want to be futzing around with the 
`_readableState` property. It's private and internal. Normally you'd push 
some data from an external data source (an in-memory array will suffice for 
demonstration purposes) and that would be what's consumed in the "_read" 
function.

On Monday, March 11, 2013 2:57:14 PM UTC-7, Michael Jackson wrote:
>
> I've been messing around with 0.10's Stream.Readable this morning trying 
> to get a super simple example to work, but I can't get my subclass to emit 
> any "readable" events. Here's the subclass I'm using:
>
>     function Content(string, options) {
>       Stream.Readable.call(this, options);
>       this.push(string);
>     }
>
>     util.inherits(Content, Stream.Readable);
>
>     Content.prototype._read = function (size) {
>       // Ignore size argument and return the entire buffer, for now.
>       var state = this._readableState;
>       var chunk = Buffer.concat(state.buffer);
>       state.buffer = [];
>       return chunk;
>     };
>
> All I'm trying to do is wrap a string with a Stream.Readable subclass and 
> emit that string. My _read function ignores the size argument for the sake 
> of simplicity.
>
> Here's my test case:
>
>     var test = new Content('hello world');
>     // console.log(test._readableState.buffer.map(function (o) { return 
> o.toString() }))
>
>     test.on('readable', function () {
>       console.log('readable');
>       console.log(test.read());
>     });
>
>     test.on('error', function (error) {
>       console.log(error);
>     });
>
>     test.on('end', function () {
>       console.log('end');
>     });
>
> When I run this code, I don't get anything printed to the console. Not 
> even if I try a test.read(0) afterwards to refresh the internal buffer.
>
> I know there's stuff in the internal buffer because when I run the line 
> that's commented out it shows me that my string is there.
>
> What am I doing wrong? Thanks in advance.
>
> --
> Michael Jackson
> @mjackson
>  

-- 
-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
"nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to