
Yigong Liu wrote:
In this sense, Channel is quite in the similar field as GUI event/signal systems. By instantiating Channel template with "NULL" SynchPolicy, it can be used as a single threaded event dispatcher, and gain the extra benefit of being able to plugin different routing/dispatching algorithms and easily transformed into distributed eventing systems later.
I have a great interest is this kind of use, but in a threaded environment. I've developed my own event-driven infrastructure but it's not designed to be super general-purpose. However, I am interest in actively participating in discussions around your proposal wrt this kind of use. Specifically, my needs for event-driven programming arise from designing machine simulators, which have slightly different requirements than a GUI system (tracking simulator time, for example). A policy-based design works well and is what I've designed for my own use. -Dave