public ExecutionContext(ISessionInternal session, IWorkingMemory workingMemory, IAgendaInternal agenda, IEventAggregator eventAggregator, IMetricsAggregator metricsAggregator, IIdGenerator idGenerator) { Session = session; WorkingMemory = workingMemory; Agenda = agenda; EventAggregator = eventAggregator; MetricsAggregator = metricsAggregator; IdGenerator = idGenerator; UnlinkQueue = new Queue <Activation>(); }
internal Session( INetwork network, IAgendaInternal agenda, IWorkingMemory workingMemory, IEventAggregator eventAggregator, IMetricsAggregator metricsAggregator, IActionExecutor actionExecutor, IIdGenerator idGenerator, IDependencyResolver dependencyResolver, IActionInterceptor actionInterceptor) { _network = network; _workingMemory = workingMemory; _agenda = agenda; _eventAggregator = eventAggregator; _metricsAggregator = metricsAggregator; _actionExecutor = actionExecutor; _executionContext = new ExecutionContext(this, _workingMemory, _agenda, _eventAggregator, _metricsAggregator, idGenerator); DependencyResolver = dependencyResolver; ActionInterceptor = actionInterceptor; AutoPropagateLinkedFacts = true; }