Copyright | Copyright (c) 2009-2016, David Sorokin <david.sorokin@gmail.com> |
---|---|
License | BSD3 |
Maintainer | David Sorokin <david.sorokin@gmail.com> |
Stability | experimental |
Safe Haskell | None |
Language | Haskell2010 |
Tested with: GHC 8.0.1
The module defines the Round-Robbin processor.
Documentation
roundRobbinProcessor :: MonadDES m => Processor m (Process m Double, Process m a) a Source #
Represents the Round-Robbin processor that tries to perform the task within the specified timeout. If the task times out, then it is canceled and returned to the processor again; otherwise, the successful result is redirected to output.
roundRobbinProcessorUsingIds :: MonadDES m => Processor m (Process m (Double, ProcessId m), Process m a) a Source #
Like roundRobbinProcessor
but allows specifying the process identifiers which
must be unique for every new attemp to perform the task even if the task is the same.