aivika-gpss-0.4: GPSS-like DSL for Aivika

CopyrightCopyright (c) 2017 David Sorokin <david.sorokin@gmail.com>
LicenseBSD3
MaintainerDavid Sorokin <david.sorokin@gmail.com>
Stabilityexperimental
Safe HaskellNone
LanguageHaskell98

Simulation.Aivika.Trans.GPSS.TransactQueueStrategy

Description

Tested with: GHC 8.0.2

This module defines a GPSS transact queue strategy.

Synopsis

Documentation

data TransactQueueStrategy s Source #

The transact queue strategy.

Constructors

TransactQueueStrategy s 

Instances

MonadDES m => QueueStrategy m (TransactQueueStrategy s) Source #

An implementation of the QueueStrategy class.

MonadDES m => DequeueStrategy m (TransactQueueStrategy LCFS) Source # 
MonadDES m => DequeueStrategy m (TransactQueueStrategy FCFS) Source # 
MonadDES m => DeletingQueueStrategy m (TransactQueueStrategy FCFS) Source # 
(MonadDES m, DequeueStrategy m (TransactQueueStrategy s)) => PriorityQueueStrategy m (TransactQueueStrategy s) Int Source # 
data StrategyQueue m (TransactQueueStrategy s) Source # 

transactStrategyQueueDeleteBy Source #

Arguments

:: MonadDES m 
=> StrategyQueue m (TransactQueueStrategy s) a

the queue

-> Int

the transact priority

-> (a -> Bool)

the predicate

-> Event m (Maybe a) 

Try to delete the transact by the specified priority and satisfying to the provided predicate.

transactStrategyQueueContainsBy Source #

Arguments

:: MonadDES m 
=> StrategyQueue m (TransactQueueStrategy s) a

the queue

-> Int

the transact priority

-> (a -> Bool)

the predicate

-> Event m (Maybe a) 

Test whether the queue contains a transact with the specified priority satisfying the provided predicate.