
Chris, SNIP
What you describe is similar to functionality provided by my proposed asio library. In particular see the asio::demuxer and asio::locking_dispatcher classes, which implement the Dispatcher concept (see http://asio.sourceforge.net/asio-0.3.5/doc/reference/index.html).
Very nice looking library. Your points regarding how it does the things i have discussed are well taken. Questions: 1. is this in the pipeline for review in boost? 2. Given the contentious nature of I/O discussions in boost would it be possible to unbundle the threading aspect of your lib and get that part into boost sooner? <grin> 3. what's your approach to objects mentioned in the callback handler being deleted before the callback is made? Is it the responsibility of the Handler to manage this? Any wrappers for this functionality (e.g. using weak_ptr) 4. Is a Win32 GUI thread based asio::demuxer available? Couldn't quite get my head around getting windows events into such a thing. Cheers Simon