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; } }
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); } }
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 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); }
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); }
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(); } }
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); } }
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); } }
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); }
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; }
private bool IsDuplicate(IProcessingElement processingElement) { return(_queueMap.ContainsKey(processingElement.UniqueId)); }
public bool Accepts(IProcessingElement fetchedElement) { return _groupingKey.Equals(fetchedElement.GroupingKey); }
public void SetUp() { _element = new TestElement(); }
public void Process(IProcessingElement processingElement) { var typedElement = (SourcedEventProcessingElement) processingElement; _internalBus.Publish(typedElement.Event); }
public ElementDemultiplexedEventArgs(IProcessingElement demultiplexedElement) { _demultiplexedElement = demultiplexedElement; }
private void AssociateElementAndQueue(IProcessingElement processingElement, DemultiplexerQueue queue) { _queueMap.Add(processingElement.UniqueId, queue); }
public void Enqueue(IProcessingElement processingElement) { _queue.Enqueue(processingElement); }
public void Process(IProcessingElement evnt) { var typedElement = (SourcedEventProcessingElement) evnt; _callback(typedElement.Event); }
public void Process(IProcessingElement evnt) { }
private void EnqueueToProcessing(IProcessingElement processingElement) { OnEventDemultiplexed(new ElementDemultiplexedEventArgs(processingElement)); }
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 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) { var typedElement = (SourcedEventProcessingElement)evnt; _callback(typedElement.Event); }