public StatementAgentInstanceFactoryCreateNWResult( Viewable finalView, AgentInstanceStopCallback stopCallback, AgentInstanceContext agentInstanceContext, Viewable eventStreamParentViewable, Viewable topView, NamedWindowInstance namedWindowInstance, ViewableActivationResult viewableActivationResult) : base( finalView, stopCallback, agentInstanceContext, null, new EmptyDictionary<int, SubSelectFactoryResult>(), null, null, null, new EmptyDictionary<int, ExprTableEvalStrategy>(), null) { this.eventStreamParentViewable = eventStreamParentViewable; this.topView = topView; this.namedWindowInstance = namedWindowInstance; this.viewableActivationResult = viewableActivationResult; }
public StatementAgentInstanceFactorySelectResult( Viewable finalView, AgentInstanceStopCallback stopCallback, AgentInstanceContext agentInstanceContext, AggregationService optionalAggegationService, IDictionary<int, SubSelectFactoryResult> subselectStrategies, PriorEvalStrategy[] priorStrategies, PreviousGetterStrategy[] previousGetterStrategies, RowRecogPreviousStrategy regexExprPreviousEvalStrategy, IDictionary<int, ExprTableEvalStrategy> tableAccessStrategies, IList<StatementAgentInstancePreload> preloadList, EvalRootState[] patternRoots, JoinSetComposer joinSetComposer, Viewable[] topViews, Viewable[] eventStreamViewables, ViewableActivationResult[] viewableActivationResults) : base( finalView, stopCallback, agentInstanceContext, optionalAggegationService, subselectStrategies, priorStrategies, previousGetterStrategies, regexExprPreviousEvalStrategy, tableAccessStrategies, preloadList) { TopViews = topViews; PatternRoots = patternRoots; JoinSetComposer = joinSetComposer; EventStreamViewables = eventStreamViewables; ViewableActivationResults = viewableActivationResults; }
public StatementAgentInstanceFactoryOnTriggerResult( Viewable finalView, AgentInstanceStopCallback stopCallback, AgentInstanceContext agentInstanceContext, AggregationService optionalAggegationService, IDictionary<int, SubSelectFactoryResult> subselectStrategies, PriorEvalStrategy[] priorStrategies, PreviousGetterStrategy[] previousGetterStrategies, RowRecogPreviousStrategy regexExprPreviousEvalStrategy, IDictionary<int, ExprTableEvalStrategy> tableAccessStrategies, IList<StatementAgentInstancePreload> preloadList, EvalRootState optPatternRoot, ViewableActivationResult viewableActivationResult) : base( finalView, stopCallback, agentInstanceContext, optionalAggegationService, subselectStrategies, priorStrategies, previousGetterStrategies, regexExprPreviousEvalStrategy, tableAccessStrategies, preloadList) { OptPatternRoot = optPatternRoot; ViewableActivationResult = viewableActivationResult; }
public StatementAgentInstanceFactoryCreateContextResult( Viewable finalView, AgentInstanceStopCallback stopCallback, AgentInstanceContext agentInstanceContext, AggregationService optionalAggegationService, IDictionary<int, SubSelectFactoryResult> subselectStrategies, PriorEvalStrategy[] priorStrategies, PreviousGetterStrategy[] previousGetterStrategies, RowRecogPreviousStrategy regexExprPreviousEvalStrategy, IDictionary<int, ExprTableEvalStrategy> tableAccessStrategies, IList<StatementAgentInstancePreload> preloadList, ContextManagerRealization contextManagerRealization) : base( finalView, stopCallback, agentInstanceContext, optionalAggegationService, subselectStrategies, priorStrategies, previousGetterStrategies, regexExprPreviousEvalStrategy, tableAccessStrategies, preloadList) { this.contextManagerRealization = contextManagerRealization; }
public static void StopSafe( AgentInstanceStopCallback stopMethod, AgentInstanceContext agentInstanceContext) { var stopServices = new AgentInstanceStopServices(agentInstanceContext); var additionalTerminations = agentInstanceContext.TerminationCallbackRO; foreach (var stop in additionalTerminations) { try { stop.Stop(stopServices); } catch (EPException) { throw; } catch (Exception e) { HandleStopException(e, agentInstanceContext); } } try { stopMethod.Stop(stopServices); } catch (EPException) { throw; } catch (Exception e) { HandleStopException(e, agentInstanceContext); } }
public AgentInstance( AgentInstanceStopCallback stopCallback, AgentInstanceContext agentInstanceContext, Viewable finalView) { StopCallback = stopCallback; AgentInstanceContext = agentInstanceContext; FinalView = finalView; }
public void RemoveTerminationCallback(AgentInstanceStopCallback callback) { if (_terminationCallbacks == null) { } else if (_terminationCallbacks is ICollection<AgentInstanceStopCallback>) { ((ICollection<AgentInstanceStopCallback>) _terminationCallbacks).Remove(callback); } else if (_terminationCallbacks == callback) { _terminationCallbacks = null; } }
/// <summary> /// Add a stop-callback. /// Use to add a stop-callback other than already registered. /// This is generally not required by views that implement AgentInstanceStopCallback as /// they gets stopped as part of normal processing. /// </summary> /// <param name="callback">to add</param> public void AddTerminationCallback(AgentInstanceStopCallback callback) { if (_terminationCallbacks == null) { _terminationCallbacks = callback; } else if (_terminationCallbacks is ICollection<AgentInstanceStopCallback>) { ((ICollection<AgentInstanceStopCallback>) _terminationCallbacks).Add(callback); } else { var cb = (AgentInstanceStopCallback) _terminationCallbacks; var q = new HashSet<AgentInstanceStopCallback>(); q.Add(cb); q.Add(callback); _terminationCallbacks = q; } }
public StatementAgentInstanceFactoryCreateIndexResult( Viewable finalView, AgentInstanceStopCallback stopCallback, AgentInstanceContext agentInstanceContext) : base( finalView, stopCallback, agentInstanceContext, null, new EmptyDictionary<int, SubSelectFactoryResult>(), null, null, null, new EmptyDictionary<int, ExprTableEvalStrategy>(), new EmptyList<StatementAgentInstancePreload>()) { }
public ViewableActivationResult( Viewable viewable, AgentInstanceStopCallback stopCallback, EvalRootMatchRemover optEvalRootMatchRemover, bool suppressSameEventMatches, bool discardPartialsOnMatch, EvalRootState optionalPatternRoot, ViewableActivationResultExtension viewableActivationResultExtension) { Viewable = viewable; StopCallback = stopCallback; OptEvalRootMatchRemover = optEvalRootMatchRemover; IsSuppressSameEventMatches = suppressSameEventMatches; IsDiscardPartialsOnMatch = discardPartialsOnMatch; OptionalPatternRoot = optionalPatternRoot; ViewableActivationResultExtension = viewableActivationResultExtension; }
public static void Stop( AgentInstanceStopCallback stopCallback, AgentInstanceContext agentInstanceContext, Viewable finalView, bool isStatementStop, bool leaveLocksAcquired) { agentInstanceContext.InstrumentationProvider.QContextPartitionDestroy(agentInstanceContext); // obtain statement lock var @lock = agentInstanceContext.EpStatementAgentInstanceHandle.StatementAgentInstanceLock; @lock.AcquireWriteLock(); try { if (finalView is OutputProcessViewTerminable terminable && !isStatementStop) { terminable.Terminated(); } StopSafe(stopCallback, agentInstanceContext); // release resource agentInstanceContext.StatementContext.StatementAIResourceRegistry?.Deassign( agentInstanceContext.AgentInstanceId); // cause any remaining schedules, that may concide with the caller's schedule, to be ignored agentInstanceContext.EpStatementAgentInstanceHandle.IsDestroyed = true; // cause any filters, that may concide with the caller's filters, to be ignored agentInstanceContext.EpStatementAgentInstanceHandle.StatementFilterVersion.StmtFilterVersion = Int64.MaxValue; if (agentInstanceContext.AgentInstanceId != -1) { agentInstanceContext.AuditProvider.ContextPartition(false, agentInstanceContext); } } finally { if (!leaveLocksAcquired) { if (agentInstanceContext.StatementContext.EpStatementHandle.HasTableAccess) { agentInstanceContext.TableExprEvaluatorContext.ReleaseAcquiredLocks(); } @lock.ReleaseWriteLock(); } agentInstanceContext.InstrumentationProvider.AContextPartitionDestroy(); } }
public StatementAgentInstanceFactoryCreateVariableResult( Viewable finalView, AgentInstanceStopCallback stopCallback, AgentInstanceContext agentInstanceContext) : base( finalView, stopCallback, agentInstanceContext, null, Collections.GetEmptyMap<int, SubSelectFactoryResult>(), null, null, null, Collections.GetEmptyMap<int, ExprTableEvalStrategy>(), Collections.GetEmptyList<StatementAgentInstancePreload>()) { }
public StatementAgentInstanceFactoryUpdateResult( Viewable finalView, AgentInstanceStopCallback stopCallback, AgentInstanceContext agentInstanceContext, IDictionary<int, SubSelectFactoryResult> subselectActivations) : base( finalView, stopCallback, agentInstanceContext, null, subselectActivations, null, null, null, null, Collections.GetEmptyList<StatementAgentInstancePreload>()) { }
public StatementAgentInstanceFactoryCreateDataflowResult( Viewable finalView, AgentInstanceStopCallback stopCallback, AgentInstanceContext agentInstanceContext, DataflowDesc dataflow) : base( finalView, stopCallback, agentInstanceContext, null, Collections.GetEmptyMap<int, SubSelectFactoryResult>(), null, null, null, null, Collections.GetEmptyList<StatementAgentInstancePreload>()) { Dataflow = dataflow; }
protected StatementAgentInstanceFactoryResult( Viewable finalView, AgentInstanceStopCallback stopCallback, AgentInstanceContext agentInstanceContext, AggregationService optionalAggegationService, IDictionary<int, SubSelectFactoryResult> subselectStrategies, PriorEvalStrategy[] priorStrategies, PreviousGetterStrategy[] previousGetterStrategies, RowRecogPreviousStrategy rowRecogPreviousStrategy, IDictionary<int, ExprTableEvalStrategy> tableAccessStrategies, IList<StatementAgentInstancePreload> preloadList) { FinalView = finalView; StopCallback = stopCallback; AgentInstanceContext = agentInstanceContext; OptionalAggegationService = optionalAggegationService; SubselectStrategies = subselectStrategies; PriorStrategies = priorStrategies; PreviousGetterStrategies = previousGetterStrategies; RowRecogPreviousStrategy = rowRecogPreviousStrategy; TableAccessStrategies = tableAccessStrategies; this.preloadList = preloadList; }