[Home]BoostSocket/AsynchProactor

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

Difference (from prior major revision) (no other diffs)

Changed: 1,105c1,27

AsynchProactor




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?

AsynchProactor

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)
Search:
Disclaimer: This site not officially maintained by Boost Developers