Safe Haskell | Safe-Inferred |
---|---|
Language | GHC2021 |
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
CacheConfig | |
|
Route key identidfies the single item for caching
CacheKey | |
|
data CacheValue m Source #
Cache value
CacheValue | |
|
data RouteCache m Source #
Route cache
RouteCache | |
|
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