Config
struct Config
Configuration for queue sizing, priority, retries, and cache policy.
-
Queueing priority strategy applied when scheduling provider work.
See moreDeclaration
Swift
public enum PriorityStrategy
-
The selected data provider implementation.
Declaration
Swift
public let dataProvider: DataProvider
-
Maximum number of keys allowed to be queued awaiting execution.
Declaration
Swift
public let maxNumberOfQueueingTasks: Int
-
Maximum number of provider tasks allowed to run concurrently.
Declaration
Swift
public let maxNumberOfRunningTasks: Int
-
Retry policy applied to failed provider attempts.
Declaration
Swift
public let retryCount: RetryCount
-
Queue priority strategy used when scheduling work.
Declaration
Swift
public let PriorityStrategy: PriorityStrategy
-
Cache configuration that controls memory limits, TTL, key validation, and thread safety.
The keyValidator in this configuration is used to automatically filter out invalid keys during provide operations. Keys that fail validation will return nil without triggering network requests, improving performance and preventing unnecessary API calls.
Declaration
Swift
public let cacheConfig: MemoryCache<K, Element>.Configuration
-
Optional callback for cache statistics reporting
Declaration
Swift
public let cacheStatisticsReport: ((CacheStatistics, CacheRecord) -> Void)?
-
init(dataProvider:
maxNumberOfQueueingTasks: maxNumberOfRunningTasks: retryCount: PriorityStrategy: cacheConfig: cacheStatisticsReport: ) Initializes a new KVLightTasksManager configuration.
Declaration
Swift
public init( dataProvider: DataProvider, maxNumberOfQueueingTasks: Int = 256, maxNumberOfRunningTasks: Int = 4, retryCount: RetryCount = 0, PriorityStrategy: PriorityStrategy = .LIFO, cacheConfig: MemoryCache<K, Element>.Configuration = .defaultConfig, cacheStatisticsReport: ((CacheStatistics, CacheRecord) -> Void)? = nil )
Parameters
dataProvider
The data provider for providing elements.
maxNumberOfQueueingTasks
Maximum queued keys capacity (default: 256).
maxNumberOfRunningTasks
Maximum concurrent provider tasks (default: 4).
retryCount
Retry configuration for failed requests (default: 0).
PriorityStrategy
Queue priority strategy (default: .LIFO).
cacheConfig
Cache configuration including key validation (default: .defaultConfig).
cacheStatisticsReport
Optional callback for cache statistics.