aivika-transformers-4.6.1: Transformers for the Aivika simulation library

CopyrightCopyright (c) 2009-2016 David Sorokin <david.sorokin@gmail.com>
LicenseBSD3
MaintainerDavid Sorokin <david.sorokin@gmail.com>
Stabilityexperimental
Safe HaskellNone
LanguageHaskell2010

Simulation.Aivika.IO.Resource.Preemption

Contents

Description

Tested with: GHC 8.0.1

This module defines the preemptible resource, where the IO monad is an instance of MonadResource.

Orphan instances

MonadResource IO Source #

The IO monad is an instance of MonadResource.

Associated Types

data Resource (IO :: * -> *) :: * Source #

Methods

newResource :: Int -> Event IO (Resource IO) Source #

newResourceWithMaxCount :: Int -> Maybe Int -> Event IO (Resource IO) Source #

resourceCount :: Resource IO -> Event IO Int Source #

resourceMaxCount :: Resource IO -> Maybe Int Source #

resourceCountStats :: Resource IO -> Event IO (TimingStats Int) Source #

resourceCountChanged :: Resource IO -> Signal IO Int Source #

resourceCountChanged_ :: Resource IO -> Signal IO () Source #

resourceUtilisationCount :: Resource IO -> Event IO Int Source #

resourceUtilisationCountStats :: Resource IO -> Event IO (TimingStats Int) Source #

resourceUtilisationCountChanged :: Resource IO -> Signal IO Int Source #

resourceUtilisationCountChanged_ :: Resource IO -> Signal IO () Source #

resourceQueueCount :: Resource IO -> Event IO Int Source #

resourceQueueCountStats :: Resource IO -> Event IO (TimingStats Int) Source #

resourceQueueCountChanged :: Resource IO -> Signal IO Int Source #

resourceQueueCountChanged_ :: Resource IO -> Signal IO () Source #

resourceTotalWaitTime :: Resource IO -> Event IO Double Source #

resourceWaitTime :: Resource IO -> Event IO (SamplingStats Double) Source #

resourceWaitTimeChanged :: Resource IO -> Signal IO (SamplingStats Double) Source #

resourceWaitTimeChanged_ :: Resource IO -> Signal IO () Source #

resourceChanged_ :: Resource IO -> Signal IO () Source #

requestResourceWithPriority :: Resource IO -> Double -> Process IO () Source #

releaseResource :: Resource IO -> Process IO () Source #

usingResourceWithPriority :: Resource IO -> Double -> Process IO a -> Process IO a Source #

incResourceCount :: Resource IO -> Int -> Event IO () Source #

decResourceCount :: Resource IO -> Int -> Event IO () Source #

alterResourceCount :: Resource IO -> Int -> Event IO () Source #

Eq (Resource IO) Source #