like garden hose -- screw in another segment when it becomes when it becomes necessary to massage data in another way. This is the way of IO also." -- Douglas McIlroy, 1964
e R e a d S t r e a m h t t p . I n c o m i n g M e s s a g e Implement u t i l . i n h e r i t s ( m y S t r e a m , s t r e a m . R e a d a b l e ) ; m y S t r e a m . p r o t o t y p e . r e a d = f u n c t i o n ( ) . . .
e W r i t e S t r e a m h t t p . S e r v e r R e s p o n s e Implement u t i l . i n h e r i t s ( m y S t r e a m , s t r e a m . W r i t a b l e ) ; m y S t r e a m . p r o t o t y p e . w r i t e = f u n c t i o n ( ) . . .
c k e t Implement u t i l . i n h e r i t s ( m y S t r e a m , s t r e a m . D u p l e x ) ; m y S t r e a m . p r o t o t y p e . r e a d = f u n c t i o n ( ) . . . m y S t r e a m . p r o t o t y p e . w r i t e = f u n c t i o n ( ) . . .
'readable' p a u s e ( ) , r e s u m e ( ) , o n ( ' d a t a ' ) or o n ( ' e n d ' ) revert to old functionality Allows for arbitrary Objects as well as Buffers and Strings
c k @ d o m i n i c t a r r @ t o o t a l l n a t e MarkdownPresenter slides & notes speakerdeck.com/rabidaudio/node-streams github.com/rabidaudio/stream-talk