
Hi Aaron I've been following the threads spawned by you and Carlos with great interest! And this proposal is interesting indeed! As far as I can tell, I like your approach. I'm not sure how, but I think I have a hunch how the demultiplexor can be used in conjunction with other components, such as threads, to realize functionalities on a higher-level such as a socket library but I relly would like to see some diagrams and more code and examples - please! You asked us to forget all about event handling, but... I'm not sure whether the event demultiplexing model is synchronous or asynchronous? (Compare the patterns Reactor (sync) and Proactor (async) as described in POSA2. Btw do you consider ACE's implementation of these patterns "big, clunky, monolithic demultiplexors"?) I strongly agree with you that the demultiplexor library should not use threads as those are part of the concurrency model - separation of concerns. However, if needed, it should of possible to combine a synchronous event demultiplexer together with a thread-pool to implement the Leader-Followers pattern via a thread-pool reactor. /Tommy PS. I'm confused regarding the use of the terms multiplexor and demultiplexor. I hope you mean demultiplexor when you say multiplexor - right?