Context constructor
Context(
- Clock clock,
- ContextConfig config,
- Completer<
ContextData> dataFuture, - ContextDataProvider dataProvider,
- ContextEventHandler eventHandler,
- VariableParser variableParser,
- AudienceMatcher audienceMatcher,
- ContextEventLogger? eventLogger,
Implementation
Context(
Clock clock,
ContextConfig config,
Completer<ContextData> dataFuture,
ContextDataProvider dataProvider,
ContextEventHandler eventHandler,
VariableParser variableParser,
AudienceMatcher audienceMatcher,
ContextEventLogger? eventLogger) {
clock_ = clock;
publishDelay_ = config.getPublishDelay();
refreshInterval_ = config.getRefreshInterval();
eventHandler_ = eventHandler;
dataProvider_ = dataProvider;
variableParser_ = variableParser;
audienceMatcher_ = audienceMatcher;
eventLogger_ = eventLogger;
setUnits(config.getUnits());
setAttributes(config.getAttributes());
setOverrides(config.getOverrides());
setCustomAssignments(config.getCustomAssignments());
readyFuture_ = Completer<void>();
dataFuture.future.then((data) {
setData(data);
readyFuture_!.complete();
readyFuture_ = null;
logEvent(EventType.ready, data);
if (getPendingCount() > 0) {
setTimeout();
}
}).catchError((exception) {
setDataFailed(exception);
readyFuture_!.complete();
readyFuture_ = null;
logError(exception);
});
}