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 |