Hey all,

>From my understanding, the stream abstraction doesn't currently concern 
itself with (big-R) Reliability.  Is that correct?

For example, what if I wanted to send a text file over TCP (maybe with a 
capitalization transform in between for good measure), where the entire 
script could resume properly from being interrupted and restarted?

I'd need to maintain the byte offset of the last file-read somewhere of 
course that could survive the restart, but it seems like the internal 
'drain' mechanism can't really guarantee that even if I've successfully 
read up to that byte, it's been successfully written to TCP.  It could have 
been in motion through the streams and their buffers (even with 
highWaterMark = 1) at the time that script was stopped.  

I could imagine an implementation where no stream can emit a 'drain' event 
until all of its down-streams have emitted 'drain' events, but otherwise it 
seems that the in-memory buffers sort of make that impossible.  

I'm just asking because I'm trying to determine if streams are the right 
abstraction for some reliable messaging work that I'm doing.  It would be 
nice if the answer was yes, but it seems like no.  

Can anyone throw me a clue?

Thanks,

G

-- 
-- 
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 nodejs@googlegroups.com
To unsubscribe from this group, send email to
nodejs+unsubscr...@googlegroups.com
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 nodejs+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to