ecluse:ecluse-core
Safe HaskellNone
LanguageGHC2021

Ecluse.Core.Server.Cache.Provider

Description

One selected storage provider owns all metadata retention capabilities.

Synopsis

Documentation

data CacheProvider Source #

Missing capabilities remain uncached. They never fall back to another storage provider.

cacheProvider :: BackendStorage -> Maybe (RetentionOperations Text CacheEntry) -> Maybe (RetentionOperations Text VersionRead) -> Maybe (RetentionOperations Text ByteString) -> CacheProvider Source #

Classify every operation together. Local storage cannot opt into full retention.

localCacheProvider :: CacheConfig -> IO CacheProvider Source #

Retain only selected versions and assembled responses in bounded local stores.

providerFull :: CacheProvider -> Maybe (RetentionBackend Text CacheEntry) Source #

Full retention from the selected provider, absent for local storage.

providerVersion :: CacheProvider -> Maybe (RetentionBackend Text VersionRead) Source #

Selected retention from the same provider, without a full-document read.

providerAssembled :: CacheProvider -> Maybe (RetentionBackend Text ByteString) Source #

Assembled retention from the same provider, with no local fallback.