Exemplo n.º 1
0
        public void Handle(IncomingEventHasBeenProcessed message)
        {
            var e = this.bufferPool
                    .Where(s => s.StreamType == message.StreamType)
                    .Single();

            e.EventsInProcessorByEcv[message.EventCollectionVersion]
            .MarkEventAsProcessed();
        }
Exemplo n.º 2
0
 public void Handle(IncomingEventHasBeenProcessed message)
 {
     var e = message.Event;
     if (!this.onTheFlySubscriptionsDetected)
         this.bufferPool
         .SingleOrDefault(s => s.StreamType == e.StreamType)
         ?.EventsInProcessorByEcv[e.EventCollectionVersion]
         .MarkEventAsProcessed();
     else
     {
         var sub = this.bufferPool.SingleOrDefault(s => s.StreamType == e.StreamType);
         if (sub == null)
             sub = this.onTheFlyBufferPool.Single(s => s.StreamType == e.StreamType);
         sub.EventsInProcessorByEcv[e.EventCollectionVersion].MarkEventAsProcessed();
     }
 }
Exemplo n.º 3
0
        public void Handle(IncomingEventHasBeenProcessed message)
        {
            var producer = this.producers.Single(x => x.ProducerName == message.StreamType);

            if (producer.MaxVersionToReceive == message.EventCollectionVersion)
            {
                while (!this.stopping)
                {
                    if (this.poller.GetBufferPool().Single(x => x.StreamType == producer.ProducerName).CurrentBufferVersion >= producer.MaxVersionToReceive)
                    {
                        break;
                    }

                    Thread.Sleep(100);
                }

                producer.MarkAsCompleted();
            }
        }