public void Handle(IncomingEventHasBeenProcessed message) { var e = this.bufferPool .Where(s => s.StreamType == message.StreamType) .Single(); e.EventsInProcessorByEcv[message.EventCollectionVersion] .MarkEventAsProcessed(); }
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(); } }
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(); } }