private void QueueEvent(Envelope env) { if (null != env) { string sequenceId = env.Headers[SEC.SEQUENCE_ID]; TEvent evt = (TEvent)_processInbound(env); if (null != evt) { if (!_collectedEvents.ContainsKey(sequenceId)) { _collectedEvents.Add(sequenceId, new Dictionary <int, StreamingEventItem <TEvent> >()); } StreamingEventItem <TEvent> eventItem = new StreamingEventItem <TEvent>(evt, env.Headers); IDictionary <int, StreamingEventItem <TEvent> > eventMap = _collectedEvents[sequenceId]; eventMap.Add(eventItem.Position, eventItem); UpdatePercentProcessed(sequenceId, eventMap.Count); } } }
public object Handle(Envelope env) { lock (padLock) { _log.Debug("enter Handle for StreamingReaderRegistration"); object result = null; try { if (IsEndOfStream(env)) { foreach (IObserver <StreamingEventItem <TEvent> > o in _observers) { o.OnCompleted(); } _eventHandler.Dispose(); } else { TEvent evt = (TEvent)_processorCallback(env); if (null != evt) { StreamingEventItem <TEvent> eventItem = new StreamingEventItem <TEvent>(evt, env.Headers); foreach (IObserver <StreamingEventItem <TEvent> > o in _observers) { o.OnNext(eventItem); } } } } catch (Exception ex) { result = HandleFailed(env, ex); } _log.Debug("leaving Handle for StreamingReaderRegistration"); return(result); } }
public void OnNext(StreamingEventItem <TestStreamEvent> eventItem) { _receivedEvents.Add(eventItem); Log.Debug(string.Format("Message received: (sequenceId: {0}), (position: {1}), Event Value: {2}", eventItem.SequenceId, eventItem.Position, eventItem.Event)); }
public void OnNext(StreamingEventItem <ModernMajorGeneralMessage> eventItem) { ModernMajorGeneralMessage mmg = eventItem.Event; Console.WriteLine("Message received: (sequenceId: {0}), (position: {1}), Event Value: {2}", eventItem.SequenceId, eventItem.Position, mmg.Content); }