expiring-cache-map-0.0.5.0: General purpose simple caching.

Copyright(c) 2014 Edward L. Blake
LicenseBSD-style
MaintainerEdward L. Blake <edwardlblake@gmail.com>
Stabilityexperimental
Portabilityportable
Safe HaskellSafe-Inferred
LanguageHaskell98

Caching.ExpiringCacheMap.Types

Contents

Description

Synopsis

Configuration

Cache encapsulation

data ECM a b s m k v Source

The type that encapsulates a cache map.

data CacheState s m k v Source

The cache state.

Types

type TimeUnits = Int Source

Integer involved in the time units used to determine when an item expires. The time units used can be any arbitrary integer time representation, such as seconds or milliseconds for examples. They can also be deterministic time steps in a sequencing monad.

type ECMMapSize = Int Source

Integer involved in the size of a key-value map.

type ECMULength = Int Source

Integer involved in the length of the usage history list.

type ECMIncr = Word32 Source

Unsigned integer (Word32) involved in the cache state incrementing accumulator.

Types for state function

type ECMNewState a b s m k v = CacheState s m k v -> a (b (CacheState s m k v)) Source

type ECMEnterState a b s m k v = b (CacheState s m k v) -> (CacheState s m k v -> a (CacheState s m k v, v)) -> a v Source

type ECMReadState a b s m k v = b (CacheState s m k v) -> a (CacheState s m k v) Source