示例#1
0
        public void ProcessView(EventBean[] newData, EventBean[] oldData, bool isGenerateSynthetic)
        {
            GenerateRemoveStreamJustOnce(isGenerateSynthetic, false);

            if (newData != null)
            {
                foreach (var aNewData in newData)
                {
                    var eventsPerStream = new EventBean[] { aNewData };
                    var mk = Processor.GenerateGroupKey(eventsPerStream, true);
                    _groupReps.Put(mk, eventsPerStream);

                    if (Processor.Prototype.IsSelectRStream && !_groupRepsOutputLastUnordRStream.ContainsKey(mk))
                    {
                        Processor.GenerateOutputBatchedNoSortWMap(false, mk, eventsPerStream, true, isGenerateSynthetic, _groupRepsOutputLastUnordRStream);
                    }
                    Processor.AggregationService.ApplyEnter(eventsPerStream, mk, Processor.AgentInstanceContext);
                }
            }
            if (oldData != null)
            {
                foreach (var anOldData in oldData)
                {
                    var eventsPerStream = new EventBean[] { anOldData };
                    var mk = Processor.GenerateGroupKey(eventsPerStream, true);

                    if (Processor.Prototype.IsSelectRStream && !_groupRepsOutputLastUnordRStream.ContainsKey(mk))
                    {
                        Processor.GenerateOutputBatchedNoSortWMap(false, mk, eventsPerStream, false, isGenerateSynthetic, _groupRepsOutputLastUnordRStream);
                    }
                    Processor.AggregationService.ApplyLeave(eventsPerStream, mk, Processor.AgentInstanceContext);
                }
            }
        }
示例#2
0
        public void ProcessView(
            EventBean[] newData,
            EventBean[] oldData,
            bool isGenerateSynthetic)
        {
            if (newData != null) {
                foreach (var aNewData in newData) {
                    EventBean[] eventsPerStream = {aNewData};
                    var mk = processor.GenerateGroupKeySingle(eventsPerStream, true);

                    // if this is a newly encountered group, generate the remove stream event
                    if (groupReps.Push(mk, eventsPerStream) == null) {
                        if (processor.IsSelectRStream) {
                            var @event = processor.GenerateOutputBatchedNoSortWMap(
                                false,
                                mk,
                                eventsPerStream,
                                true,
                                isGenerateSynthetic);
                            if (@event != null) {
                                groupRepsOutputLastUnordRStream.Put(mk, @event);
                            }
                        }
                    }

                    processor.AggregationService.ApplyEnter(eventsPerStream, mk, processor.GetAgentInstanceContext());
                }
            }

            if (oldData != null) {
                foreach (var anOldData in oldData) {
                    EventBean[] eventsPerStream = {anOldData};
                    var mk = processor.GenerateGroupKeySingle(eventsPerStream, true);

                    if (groupReps.Push(mk, eventsPerStream) == null) {
                        if (processor.IsSelectRStream) {
                            var @event = processor.GenerateOutputBatchedNoSortWMap(
                                false,
                                mk,
                                eventsPerStream,
                                false,
                                isGenerateSynthetic);
                            if (@event != null) {
                                groupRepsOutputLastUnordRStream.Put(mk, @event);
                            }
                        }
                    }

                    processor.AggregationService.ApplyLeave(eventsPerStream, mk, processor.GetAgentInstanceContext());
                }
            }
        }
        public void ProcessView(
            EventBean[] newData,
            EventBean[] oldData,
            bool isGenerateSynthetic)
        {
            GenerateRemoveStreamJustOnce(isGenerateSynthetic, false);

            if (newData != null) {
                foreach (var aNewData in newData) {
                    EventBean[] eventsPerStream = {aNewData};
                    var mk = processor.GenerateGroupKeySingle(eventsPerStream, true);
                    groupReps.Put(mk, eventsPerStream);

                    if (processor.IsSelectRStream && !groupRepsOutputLastUnordRStream.ContainsKey(mk)) {
                        var @event = processor.GenerateOutputBatchedNoSortWMap(
                            false,
                            mk,
                            eventsPerStream,
                            true,
                            isGenerateSynthetic);
                        if (@event != null) {
                            groupRepsOutputLastUnordRStream.Put(mk, @event);
                        }
                    }

                    processor.AggregationService.ApplyEnter(eventsPerStream, mk, processor.GetAgentInstanceContext());
                }
            }

            if (oldData != null) {
                foreach (var anOldData in oldData) {
                    EventBean[] eventsPerStream = {anOldData};
                    var mk = processor.GenerateGroupKeySingle(eventsPerStream, true);

                    if (processor.IsSelectRStream && !groupRepsOutputLastUnordRStream.ContainsKey(mk)) {
                        var @event = processor.GenerateOutputBatchedNoSortWMap(
                            false,
                            mk,
                            eventsPerStream,
                            false,
                            isGenerateSynthetic);
                        if (@event != null) {
                            groupRepsOutputLastUnordRStream.Put(mk, @event);
                        }
                    }

                    processor.AggregationService.ApplyLeave(eventsPerStream, mk, processor.GetAgentInstanceContext());
                }
            }
        }
示例#4
0
        public void ProcessView(EventBean[] newData, EventBean[] oldData, bool isGenerateSynthetic)
        {
            if (newData != null)
            {
                foreach (EventBean aNewData in newData)
                {
                    EventBean[] eventsPerStream = new EventBean[] { aNewData };
                    object      mk = _processor.GenerateGroupKey(eventsPerStream, true);

                    // if this is a newly encountered group, generate the remove stream event
                    if (_groupReps.Push(mk, eventsPerStream) == null)
                    {
                        if (_processor.Prototype.IsSelectRStream)
                        {
                            EventBean @event = _processor.GenerateOutputBatchedNoSortWMap(false, mk, eventsPerStream, true, isGenerateSynthetic);
                            if (@event != null)
                            {
                                _groupRepsOutputLastUnordRStream.Put(mk, @event);
                            }
                        }
                    }
                    _processor.AggregationService.ApplyEnter(eventsPerStream, mk, _processor.AgentInstanceContext);
                }
            }
            if (oldData != null)
            {
                foreach (EventBean anOldData in oldData)
                {
                    EventBean[] eventsPerStream = new EventBean[] { anOldData };
                    object      mk = _processor.GenerateGroupKey(eventsPerStream, true);

                    if (_groupReps.Push(mk, eventsPerStream) == null)
                    {
                        if (_processor.Prototype.IsSelectRStream)
                        {
                            EventBean @event = _processor.GenerateOutputBatchedNoSortWMap(false, mk, eventsPerStream, false, isGenerateSynthetic);
                            if (@event != null)
                            {
                                _groupRepsOutputLastUnordRStream.Put(mk, @event);
                            }
                        }
                    }

                    _processor.AggregationService.ApplyLeave(eventsPerStream, mk, _processor.AgentInstanceContext);
                }
            }
        }