Config

struct Config

Configuration for queue sizing, priority, retries, and cache policy.

  • Queueing priority strategy applied when scheduling provider work.

    See more

    Declaration

    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)?
  • 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.