Proactor pattern

Proactor is a software design pattern for event handling in which long running activities are running in an asynchronous part. A completion handler is called after the asynchronous part has terminated. The proactor pattern can be considered to be an asynchronous variant of the synchronous reactor pattern.

Interaction
Operation specific actors: Standardized actors
 * The Proactive Initiator starts the asynchronous operation via the Asynchronous Operation Processor and defines the Completion Handler
 * Completion Handler is a call at the end of the operation from the Asynchronous Operation Processor
 * Asynchronous Operation
 * The Asynchronous Operation Processor controls the whole asynchronous operation
 * The Completion Dispatcher handles the call, depending on the execution environment.

Implementations

 * Proactor and Boost.Asio (C++)
 * Adaptive Communication Environment (C++)
 * RJR (Ruby)