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.[1]

Interaction

UML Sequence diagram of Proactor

Operation specific 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

Standardized actors

  • The Asynchronous Operation Processor controls the whole asynchronous operation
  • The Completion Dispatcher handles the call, depending on the execution environment.

Implementations

gollark: As well as actually working, maybe, and not allowing historical data to accumulate forever, it could monitor APIONET for functionality, and, using proven osmarksDNS™ technologies, offer a domain which returns a random IP selected from all operational APIONET servers.
gollark: I have a useful* idea: onstat™++™. The current status.osmarks.net is down. However, via "oracle cloud" I can get a free bad VPS (1/4 of a core allocated and 1GB of RAM, or something) which should be sufficient to run a shinier version.
gollark: For example, a webmaze, like in my tech demo.
gollark: We should investigate other webtopologies.
gollark: ++search !wen TLD list

See also

  • Reactor pattern (a pattern that also asynchronously queues events, but demultiplexes and dispatches them synchronously)

References

  1. Pattern-Oriented Software Architecture, Volume 2, Schmidt et al., Jon Wiley & Sons, Ltd, 2000


This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.