| Copyright | Copyright (c) 2015-2016, David Sorokin <david.sorokin@gmail.com> |
|---|---|
| License | BSD3 |
| Maintainer | David Sorokin <david.sorokin@gmail.com> |
| Stability | experimental |
| Safe Haskell | None |
| Language | Haskell98 |
Simulation.Aivika.Distributed.Optimistic.DIO
Description
- data DIO a
- data DIOParams = DIOParams {}
- runDIO :: DIO a -> DIOParams -> ProcessId -> Process (ProcessId, Process a)
- defaultDIOParams :: DIOParams
- dioParams :: DIO DIOParams
- messageInboxId :: DIO ProcessId
- timeServerId :: DIO ProcessId
- logDIO :: Priority -> String -> DIO ()
- terminateDIO :: DIO ()
- unregisterDIO :: DIO ()
Documentation
The distributed computation based on IO.
Instances
| Monad DIO Source | |
| Functor DIO Source | |
| Applicative DIO Source | |
| MonadException DIO Source | |
data Ref DIO = Ref {
| |
data EventQueue DIO = EventQueue {
| |
| data Generator DIO = Generator {} | |
| data StrategyQueue DIO FCFS = FCFSQueue (DoubleLinkedList DIO a) | |
| data StrategyQueue DIO LCFS = LCFSQueue (DoubleLinkedList DIO a) |
The parameters for the DIO computation.
Constructors
| DIOParams | |
Fields
| |
runDIO :: DIO a -> DIOParams -> ProcessId -> Process (ProcessId, Process a) Source
Run the computation using the specified parameters along with time server process identifier and return the inbox process identifier and a new simulation process.
defaultDIOParams :: DIOParams Source
The default parameters for the DIO computation
messageInboxId :: DIO ProcessId Source
Return the process identifier of the inbox that receives messages.
timeServerId :: DIO ProcessId Source
Return the time server process identifier.
terminateDIO :: DIO () Source
Terminate the simulation including the processes in all nodes connected to the time server.
unregisterDIO :: DIO () Source
Unregister the simulation process from the time server without affecting the processes in other nodes connected to the corresponding time server.