Yeah, you could just name your callback parameter `next` so that you are really sure what it means.
On Monday, 15 April 2013 00:51:19 UTC+2, Isaac Schlueter wrote: > > Call the callback when you're ready to get more chunks. > > If that means "I've stashed this, but I need to see more before I can > do anything," then that's fine. > > You don't have to stash the callback anywhere. It's the same function > each time :) > > > On Sun, Apr 14, 2013 at 9:03 AM, Mike Pilsbury > <[email protected]<javascript:>> > wrote: > >> I have technically consumed it by hanging on to it. > > > > That's the bit that I was concerned about. I wasn't sure that I could > rely > > on the Buffer's contents remaining valid until I used it. > > > > It's good to know that I can take the simple approach. Thanks. > > > > > > On Sunday, 14 April 2013 16:57:17 UTC+1, Tom Dunn wrote: > >> > >> Here's what I have done in the past, if I get an incomplete chunk, I > hang > >> on to it and call done, I have technically consumed it by hanging on to > it. > >> When I get another chunk I check if that completes my partial chunk, if > it > >> does, I do this.push then call done, if I don't I hang to another > partial > >> chunk and call done anyways. > >> > >> Instead of hanging on to the callback (done), just call it once you've > put > >> your partial chunk on to your _pendingChunks array > >> > >> On Sunday, 14 April 2013 07:16:18 UTC-4, Mike Pilsbury wrote: > >>> > >>> I'm extending Transform, and I'm a little unclear when to call > >>> transform._transform(chunk, encoding, callback)'s callback. > >>> > >>> The documentation says "Call the callback function only when the > current > >>> chunk is completely consumed. Note that there may or may not be output > as a > >>> result of any particular input chunk.". But what does "completely > consumed" > >>> mean? > >>> > >>> If I can't use the chunk yet (because I need to wait for more data for > a > >>> full packet, and the packet's length has to be in the packet's > header), and > >>> I keep a reference to the chunk, does that mean that I shouldn't call > the > >>> callback yet? If that's the case, I guess that I need to keep the > callback > >>> associated with each of these chunks. > >>> > >>> this._pendingChunks = []; > >>> ... > >>> this._pendingChunks.push({chunk: chunk, callback: callback}); > >>> > >>> Then I can call each chunk's callback (in a latter execution of > >>> _transform) when I've used it to create and push a complete packet, > and I've > >>> no longer a need to reference the chunk. > >>> > >>> Or am I making things more complicated than they need to be? > >>> > > -- > > -- > > 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]<javascript:> > > To unsubscribe from this group, send email to > > [email protected] <javascript:> > > 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] <javascript:>. > > For more options, visit https://groups.google.com/groups/opt_out. > > > > > -- -- 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.
