← Back to Documentation Home

CLASS

DecisionManager

public class DecisionManager: DecisionManagerProtocol

Manages experiment decisions for users

Methods

init(storage:userProvider:)

public init(storage: StorageFacadeProtocol, userProvider: UserProviderProtocol)

Initialize decision manager - Parameters: - storage: Storage facade for data persistence - userProvider: User provider for user information

Parameters

Name Description
storage Storage facade for data persistence
userProvider User provider for user information

decide(_:experimentKey:)

public func decide(_ context: Context, experimentKey: String? = nil) async throws -> [Decision]

Make decisions for experiments based on context - Parameters: - context: The context containing user and environment information - experimentKey: Optional specific experiment key to decide for - Returns: Array of decisions made - Throws: DecisionManagerError for various error conditions

Parameters

Name Description
context The context containing user and environment information
experimentKey Optional specific experiment key to decide for