----------------------------------------------------------------------------- -- | -- Module : Control.Distributed.Process.Execution -- Copyright : (c) Tim Watson 2013 - 2014 -- License : BSD3 (see the file LICENSE) -- -- Maintainer : Tim Watson <watson.timothy@gmail.com> -- Stability : experimental -- Portability : non-portable (requires concurrency) -- -- [Inter-Process Traffic Management] -- -- The /Execution Framework/ provides tools for load regulation, workload -- shedding and remote hand-off. The currently implementation provides only -- a subset of the plumbing required, comprising tools for event management, -- mailbox buffering and message routing. -- ----------------------------------------------------------------------------- module Control.Distributed.Process.Execution ( -- * Mailbox Buffering module Control.Distributed.Process.Execution.Mailbox -- * Message Exchanges , module Control.Distributed.Process.Execution.Exchange ) where import Control.Distributed.Process.Execution.Exchange hiding (startSupervised) import Control.Distributed.Process.Execution.Mailbox hiding (startSupervised, post) {- Load regulation requires that we apply limits to various parts of the system. The manner in which they're applied may vary, but the mechanisms are limited to: 1. rejecting the activity/request 2. accepting the activity immediately 3. blocking some or all requestors 4. blocking some (or all) activities 5. terminiating some (or all) activities -}