in electronics, multiplexer allows multiple channels to communicate over a single channel.
http://en.wikipedia.org/wiki/Multiplexer "An electronic multiplexer makes it possible for several signals to share one device or resource, for example one A/D converter or one communication line, instead of having one device per input signal. On the other hand, a demultiplexer (or demux) is a device taking a single input signal and selecting one of many data-output-lines, which is connected to the single input. A multiplexer is often used with a complementary demultiplexer on the receiving end" You just want to merge the streams. I have some code here https://github.com/dominictarr/event-stream/blob/master/index.js#L25-57 although it seems to have escaped the readme. oops. also, the comment is wrong. it doesn't concat. use this if you want to concatenate: https://npmjs.org/package/kat On Sun, Sep 9, 2012 at 5:36 PM, lbdremy <[email protected]> wrote: > Thanks for your answers :), > > The aggregate module does the job of aggretate 3 readables stream into 1 > with the Cat "class", thanks. > > The code that you propose Raynos doesn't work for this case, because when > the first readable stream will emit "end", the pipe method will call the end > method of the writable stream. > Which means the writable stream is not more writable since "this.writable" > is set to false when the end method is called. So next time another of the > readable streams will emit "data", two things can happen, the pipe method > call the write method of the writable stream in this case the writable > stream shoud/will throw an error since the end method has been called before > and "this.writable" is false or the data emitted will be ignored because the > writable stream has its "this.writable" set to false. Am I right or I miss > something important in the code? > > For the second piece of code, you are completely right, I haven't think > about it but it seems there is no need to do some sort of control on the > different events since the trouble happens when data are emitted when the > method end has already been called, in this case it can't happen. But maybe > it would be nice to have a stream who know exactly how many streams will be > piped and so return false when write is called until all streams are piped > or cache the data emitted until all streams are piped. > > Interesting, why this could not be considered as demultiplexer and > multiplexer? > Tell me more, thank you. > > > > Le lundi 3 septembre 2012 18:19:34 UTC+1, Raynos a écrit : >> >> https://github.com/dominictarr/mux-demux >> >> MuxDemux is fantastic. >> >> However what your asking for is not a multiplexer. >> >> 3 readable streams into one stream: >> >> var newStream = through() >> stream1.pipe(newStream) >> stream2.pipe(newStream) >> stream3.pipe(newStream) >> >> write to one into 3 >> >> var writeStream = through() >> writeStream.pipe(stream1) >> writeStream.pipe(stream2) >> writeStream.pipe(stream3) >> >> On Mon, Sep 3, 2012 at 2:44 AM, lbdremy <[email protected]> wrote: >>> >>> Hello, >>> >>> I'm wondering, does someone know a module that is able to aggregate >>> multiple streams into 1. >>> For example you give it 3 readable streams and you get 1 stream emitting >>> all `data ` events from these 3 streams and emitting the `end` event when >>> the 3 streams are ended. >>> Same thing for writable streams, where when you write, you actually write >>> to 3 streams. >>> And a combinaison of both for writable/readable streams. >>> >>> Thanks, >>> >>> -- >>> 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 >> >> > -- > 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 -- 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
