Exemple #1
0
        public void Process(IProcessingElement e)
        {
            var typedElement = (SourcedEventProcessingElement)e;

            Console.WriteLine("Processing event {0} (id {1})", typedElement.Event.EventSequence, typedElement.Event.EventIdentifier);
            this.eventBus.Publish(typedElement.Event);
        }
 private void EnsureFirstPushedElementMarked(IProcessingElement processingElement)
 {
     if (_firstElementPushed == null)
     {
         _firstElementPushed = processingElement;
     }
 }
Exemple #3
0
 private void EnsureFirstPushedElementMarked(IProcessingElement processingElement)
 {
     if (_firstElementPushed == null)
     {
         _firstElementPushed = processingElement;
     }
 }
Exemple #4
0
        public void Process(IProcessingElement e)
        {
            var typedElement = (SourcedEventProcessingElement)e;

            Console.WriteLine("Processing event {0} (id {1})", typedElement.Event.EventSequence, typedElement.Event.EventIdentifier);
            this.eventBus.Publish(typedElement.Event);
        }
Exemple #5
0
        private DemultiplexerQueue CreateAndBlockQueueFor(IProcessingElement processingElement)
        {
            var queue = new DemultiplexerQueue(processingElement.GroupingKey);

            _queues.Add(queue);
            return(queue);
        }
 public void PushElement(IProcessingElement processingElement)
 {
     lock (_lock)
     {
         _buffer.Append(processingElement);
         EnsureFirstPushedElementMarked(processingElement);
     }
 }
Exemple #7
0
 public void PushElement(IProcessingElement processingElement)
 {
     lock (_lock)
     {
         _buffer.Append(processingElement);
         EnsureFirstPushedElementMarked(processingElement);
     }
 }
 public void MarkAsProcessed(IProcessingElement processingElement)
 {
     var queue = _queueMap[processingElement.UniqueId];            
     _queueMap.Remove(processingElement.UniqueId);
     if (queue.IsEmpty())
     {
         _queues.Remove(queue);
     }
 }
 public void MarkLastProcessedElement(string pipelineName, IProcessingElement processingElement)
 {
     _cursorCalculator.Append(processingElement);
     if (_cursorCalculator.SequenceLength >= _threshold)
     {
         _wrappedStore.MarkLastProcessedElement(pipelineName, processingElement);
         _cursorCalculator.ClearSequence();
     }
 }
 public void Append(IProcessingElement element)
 {
     var tail = _storage.Last.Value;
     tail.Add(element);
     if (tail.Count == _chunkSize)
     {
         _storage.AddLast(new List<IProcessingElement>());
     }
 }
 public void MarkLastProcessedElement(string pipelineName, IProcessingElement processingElement)
 {
     _cursorCalculator.Append(processingElement);
     if (_cursorCalculator.SequenceLength >= _threshold)
     {
         _wrappedStore.MarkLastProcessedElement(pipelineName, processingElement);
         _cursorCalculator.ClearSequence();
     }
 }
        public void Process(IProcessingElement evnt)
        {
            Thread.Sleep(_waitTime);

            Interlocked.Increment(ref ProcessedEvents);

            var typedElement = (SourcedEventProcessingElement) evnt;

            Console.WriteLine("{0}: Processing event {1} (id {2})", _pipelinePrefix, typedElement.Event.EventSequence, evnt.UniqueId);
        }
Exemple #13
0
        public void MarkAsProcessed(IProcessingElement processingElement)
        {
            var queue = _queueMap[processingElement.UniqueId];

            _queueMap.Remove(processingElement.UniqueId);
            if (queue.IsEmpty())
            {
                _queues.Remove(queue);
            }
        }
        public void Process(IProcessingElement evnt)
        {
            Thread.Sleep(_waitTime);

            Interlocked.Increment(ref ProcessedEvents);

            var typedElement = (SourcedEventProcessingElement)evnt;

            Console.WriteLine("{0}: Processing event {1} (id {2})", _pipelinePrefix, typedElement.Event.EventSequence, evnt.UniqueId);
        }
Exemple #15
0
        public void Append(IProcessingElement element)
        {
            var tail = _storage.Last.Value;

            tail.Add(element);
            if (tail.Count == _chunkSize)
            {
                _storage.AddLast(new List <IProcessingElement>());
            }
        }
 public void ProcessNext(IProcessingElement element)
 {
     try
     {
         _elementProcessor.Process(element);
         OnEventProcessed(new ElementProcessedEventArgs(element));
     }
     catch (Exception ex)
     {
         Debug.WriteLine("Exception during ProcessedElement processing: "+ex);
     }            
 }
 public void MarkLastProcessedEvent(string pipelineName, IProcessingElement processingElement)
 {
     var typedElement = (SourcedEventProcessingElement) processingElement;
     using (var connection = new SqlConnection(_connectionString))
     using (var command = new SqlCommand(MarkLastProcessedEventQuery, connection))
     {
         command.Parameters.AddWithValue("LastProcessedEventId", typedElement.Event.EventIdentifier);
         command.Parameters.AddWithValue("PipelineName", pipelineName);
         connection.Open();
         command.ExecuteNonQuery();
     }
 }
Exemple #18
0
 public void ProcessNext(IProcessingElement element)
 {
     try
     {
         _elementProcessor.Process(element);
         OnEventProcessed(new ElementProcessedEventArgs(element));
     }
     catch (Exception ex)
     {
         Debug.WriteLine("Exception during ProcessedElement processing: " + ex);
     }
 }
        public void MarkLastProcessedEvent(string pipelineName, IProcessingElement processingElement)
        {
            var typedElement = (SourcedEventProcessingElement)processingElement;

            using (var connection = new SqlConnection(_connectionString))
                using (var command = new SqlCommand(MarkLastProcessedEventQuery, connection))
                {
                    command.Parameters.AddWithValue("LastProcessedEventId", typedElement.Event.EventIdentifier);
                    command.Parameters.AddWithValue("PipelineName", pipelineName);
                    connection.Open();
                    command.ExecuteNonQuery();
                }
        }
 public void Append(IProcessingElement processingElement)
 {
     _count++;
     if (processingElement.SequenceNumber == _lastEventInSequence + 1)
     {
         _lastEventInSequence++;
         _sequenceLength++;
         _lastElementtInSequenceId = processingElement.UniqueId;
         ProcessEventsNotInSequence();
     }
     else
     {
         _elementsNotInSequence.Add(processingElement.SequenceNumber, processingElement.UniqueId);
     }
 }
Exemple #21
0
 public void Append(IProcessingElement processingElement)
 {
     _count++;
     if (processingElement.SequenceNumber == _lastEventInSequence + 1)
     {
         _lastEventInSequence++;
         _sequenceLength++;
         _lastElementtInSequenceId = processingElement.UniqueId;
         ProcessEventsNotInSequence();
     }
     else
     {
         _elementsNotInSequence.Add(processingElement.SequenceNumber, processingElement.UniqueId);
     }
 }
Exemple #22
0
 public void Demultiplex(IProcessingElement sequencedEvent)
 {
     if (IsDuplicate(sequencedEvent))
     {
         Debug.WriteLine("Ignoring duplicate element {0}.", sequencedEvent.UniqueId);
         return;
     }
     var queue = FindQueueFor(sequencedEvent);
     if (queue != null)
     {
         AssociateElementAndQueue(sequencedEvent, queue);
         queue.Enqueue(sequencedEvent);
     }
     else
     {
         queue = CreateAndBlockQueueFor(sequencedEvent);
         AssociateElementAndQueue(sequencedEvent, queue);
         EnqueueToProcessing(sequencedEvent);
     }
 }
Exemple #23
0
        public void Demultiplex(IProcessingElement sequencedEvent)
        {
            if (IsDuplicate(sequencedEvent))
            {
                Debug.WriteLine("Ignoring duplicate element {0}.", sequencedEvent.UniqueId);
                return;
            }
            var queue = FindQueueFor(sequencedEvent);

            if (queue != null)
            {
                AssociateElementAndQueue(sequencedEvent, queue);
                queue.Enqueue(sequencedEvent);
            }
            else
            {
                queue = CreateAndBlockQueueFor(sequencedEvent);
                AssociateElementAndQueue(sequencedEvent, queue);
                EnqueueToProcessing(sequencedEvent);
            }
        }
Exemple #24
0
 public void MarkLastProcessedElement(string pipelineName, IProcessingElement processingElement)
 {
     _persistentStore.MarkLastProcessedElement(pipelineName, processingElement);
 }
 public void MarkLastProcessedEvent(string pipelineName, IProcessingElement processingElement)
 {
     _persistentStore.MarkLastProcessedEvent(pipelineName, processingElement);
 }
 public ElementFetchedEventArgs(IProcessingElement processingElement)
 {
     _processingElement = processingElement;
 }
 private bool IsDuplicate(IProcessingElement processingElement)
 {
     return _queueMap.ContainsKey(processingElement.UniqueId);
 }
Exemple #28
0
 public void MarkLastProcessedEvent(string pipelineName, IProcessingElement evnt)
 {
 }
 public void MarkLastProcessedElement(string pipelineName, IProcessingElement processingElement)
 {
     var typedElement = (SourcedEventProcessingElement)processingElement;
     _streamStore.MarkLastProcessed(pipelineName, typedElement.Event.EventSourceId, typedElement.Event.CommitId);
 }
 public ElementProcessedEventArgs(IProcessingElement processedElement)
 {
     _processedElement = processedElement;
 }
Exemple #31
0
 private bool IsDuplicate(IProcessingElement processingElement)
 {
     return(_queueMap.ContainsKey(processingElement.UniqueId));
 }
 public bool Accepts(IProcessingElement fetchedElement)
 {
     return _groupingKey.Equals(fetchedElement.GroupingKey);
 }
Exemple #33
0
 public void SetUp()
 {
     _element = new TestElement();
 }
 public void MarkLastProcessedEvent(string pipelineName, IProcessingElement evnt)
 {
 }
Exemple #35
0
 public void Process(IProcessingElement processingElement)
 {
     var typedElement = (SourcedEventProcessingElement) processingElement;
     _internalBus.Publish(typedElement.Event);
 }
 public ElementProcessedEventArgs(IProcessingElement processedElement)
 {
     _processedElement = processedElement;
 }
 public ElementDemultiplexedEventArgs(IProcessingElement demultiplexedElement)
 {
     _demultiplexedElement = demultiplexedElement;
 }
 public void SetUp()
 {
     _element = new TestElement();
 }
 public ElementFetchedEventArgs(IProcessingElement processingElement)
 {
     _processingElement = processingElement;
 }
        public void MarkLastProcessedElement(string pipelineName, IProcessingElement processingElement)
        {
            var typedElement = (SourcedEventProcessingElement)processingElement;

            _streamStore.MarkLastProcessed(pipelineName, typedElement.Event.EventSourceId, typedElement.Event.CommitId);
        }
 private void AssociateElementAndQueue(IProcessingElement processingElement, DemultiplexerQueue queue)
 {
     _queueMap.Add(processingElement.UniqueId, queue);
 }
 public void Enqueue(IProcessingElement processingElement)
 {
     _queue.Enqueue(processingElement);
 }
Exemple #43
0
 public void Process(IProcessingElement evnt)
 {
     var typedElement = (SourcedEventProcessingElement) evnt;
     _callback(typedElement.Event);
 }
 public void Enqueue(IProcessingElement processingElement)
 {
     _queue.Enqueue(processingElement);
 }
 public ElementDemultiplexedEventArgs(IProcessingElement demultiplexedElement)
 {
     _demultiplexedElement = demultiplexedElement;
 }
Exemple #46
0
 private void AssociateElementAndQueue(IProcessingElement processingElement, DemultiplexerQueue queue)
 {
     _queueMap.Add(processingElement.UniqueId, queue);
 }
 public void Process(IProcessingElement evnt)
 {
 }
Exemple #48
0
 private void EnqueueToProcessing(IProcessingElement processingElement)
 {
     OnEventDemultiplexed(new ElementDemultiplexedEventArgs(processingElement));
 }
 private void EnqueueToProcessing(IProcessingElement processingElement)
 {
     OnEventDemultiplexed(new ElementDemultiplexedEventArgs(processingElement));
 }
Exemple #50
0
 private DemultiplexerQueue FindQueueFor(IProcessingElement processingElement)
 {
     return(_queues.FirstOrDefault(x => x.Accepts(processingElement)));
 }
 private DemultiplexerQueue CreateAndBlockQueueFor(IProcessingElement processingElement)
 {
     var queue = new DemultiplexerQueue(processingElement.GroupingKey);
     _queues.Add(queue);
     return queue;
 }
 private DemultiplexerQueue FindQueueFor(IProcessingElement processingElement)
 {
     return _queues.FirstOrDefault(x => x.Accepts(processingElement));
 }
 public void SetUp()
 {
     _event = new FakeProcessingElement();
     _eventStore = MockRepository.GenerateMock<IBrowsableElementStore>();
     _eventQueue = MockRepository.GenerateMock<IEventQueue>();
 }
 public bool Accepts(IProcessingElement fetchedElement)
 {
     return(_groupingKey.Equals(fetchedElement.GroupingKey));
 }
 public void Process(IProcessingElement evnt)
 {
 }
 public void SetUp()
 {
     _event      = new FakeProcessingElement();
     _eventStore = MockRepository.GenerateMock <IBrowsableElementStore>();
     _eventQueue = MockRepository.GenerateMock <IEventQueue>();
 }
 public void Process(IProcessingElement evnt)
 {
     throw new Exception();
 }
 public void Process(IProcessingElement evnt)
 {
     throw new Exception();
 }
Exemple #59
0
        public void Process(IProcessingElement evnt)
        {
            var typedElement = (SourcedEventProcessingElement)evnt;

            _callback(typedElement.Event);
        }