Boost logo

Boost :

From: Hugo Duncan (hugoduncan_at_[hidden])
Date: 2002-11-25 17:37:34

Boris and Hamish have presented examples using objects that
provide fat interfaces for event notification. By this I mean they use
seperate onEvent() handlers for each type of event as member functions
of an event sink or observer class.

ACE (I think) uses enums to register interest in read/write, close, exception
activity on a resource.

What are the features that should be supported? I'll have a go:

* a multiplexing library should cope with:
  user interface events (though need more description for this)
  others not mentioned but probably useful - pipes, named pipes
* should be simple. Not as many "design rules" as
* should allow the use of function objects as handlers
* one handler per (event, resource) pair
* should allow reuse of handler for different (event,resource) pairs
* should not provide for handler reuse across multiple multiplexers,
  as the only use of multiple multiplexers would be in multiple
* should not require virtual base class interface
* the implementation could use select, poll, epoll WaitForMultipleObjects
  or anything else that is available.
* should accept the native descriptor types (socket, file, etc) and
  do the "right thing"

I have tried to collect previous comments below:

Hamish MacKenzie

Boris Schaeling

Thread concerns

Markus Schoepflin

Eric Woodruff

Hu Xinwei

Boost list run by bdawes at, gregod at, cpdaniel at, john at