BOOST WIKI | BoostSocket | RecentChanges | Preferences | Page List | Links List


Description and design of the Asynch proactor interface.

The AsynchProactor is supposed to be a low level event multiplexing scheme to use together with asynchrounous sockets.

For more information on the proactor pattern. See Pattern Oriented Software Architecture by Schmidt et al. (see http://www.cs.wustl.edu/~schmidt/POSA/)

 // attach AsynchSocket to this (a base will not be removed from the queue until close of socket or queue)
 // should we take AsynchSocket::socket_t instead?
 bool attach(AsynchSocket& socket);

 // add a timer callback (returning a new duration when to fire again or duration = 0 if not to fire again)
 bool set_timer(time_duration_t fireTime, boost::function<time_duration_t ()>);

 // dispatch an event from "queue" returns true if event is dispatched and false
 // on timeout.
 bool dispatch(time_duration_t);

Do we need to close a proactor and can these operations be implemented safely.

 // perform asynchrounous close.
 void close();
 // join this proactor and wait for close to finish
 void join();

How should destruction be handled and defined?

BOOST WIKI | BoostSocket | RecentChanges | Preferences | Page List | Links List
Edit text of this page | View other revisions
Last edited December 18, 2004 12:31 pm (diff)
Disclaimer: This site not officially maintained by Boost Developers