Safe Haskell | Safe-Inferred |
---|---|
Language | GHC2021 |
Mig.Core.Server.Cache
Description
LRU cache to speedup fetching of the route handler
Synopsis
- data CacheConfig = CacheConfig {
- size :: Int
- cacheFilter :: CacheKey -> Bool
- data CacheKey = CacheKey {
- inputType :: ByteString
- outputType :: ByteString
- method :: Method
- path :: [Text]
- data CacheValue m = CacheValue {
- captures :: CaptureMap
- route :: Route m
- data RouteCache m = RouteCache {
- cacheFilter :: CacheKey -> Bool
- cache :: AtomicLRU CacheKey (CacheValue m)
- newRouteCache :: CacheConfig -> IO (RouteCache m)
- withCache :: RouteCache m -> (CacheKey -> Maybe (CacheValue m)) -> CacheKey -> IO (Maybe (CacheValue m))
Documentation
data CacheConfig Source #
Cache config
Constructors
CacheConfig | |
Fields
|
Route key identidfies the single item for caching
Constructors
CacheKey | |
Fields
|
data CacheValue m Source #
Cache value
Constructors
CacheValue | |
Fields
|
data RouteCache m Source #
Route cache
Constructors
RouteCache | |
Fields
|
newRouteCache :: CacheConfig -> IO (RouteCache m) Source #
Allocates new cache
withCache :: RouteCache m -> (CacheKey -> Maybe (CacheValue m)) -> CacheKey -> IO (Maybe (CacheValue m)) Source #
Caches the function of route finder