コード例 #1
0
 public void can_add_duplicate()
 {
     var id = Guid.NewGuid();
     var cache = new OutstandingMessageCache();
     cache.StartMessage(new OutstandingMessage(id, null, Helper.BuildFakeEvent(id, "type", "name", 0), 0), DateTime.Now);
     cache.StartMessage(new OutstandingMessage(id, null, Helper.BuildFakeEvent(id, "type", "name", 0), 0), DateTime.Now);
     Assert.AreEqual(1, cache.Count);
     Assert.AreEqual(0, cache.GetLowestPosition());
 }
コード例 #2
0
 public void lowest_works_on_adds_then_remove()
 {
     var id = Guid.NewGuid();
     var id2 = Guid.NewGuid();
     var id3 = Guid.NewGuid();
     var cache = new OutstandingMessageCache();
     cache.StartMessage(new OutstandingMessage(id, null, Helper.BuildFakeEvent(id, "type", "name", 10), 0), DateTime.Now);
     cache.StartMessage(new OutstandingMessage(id2, null, Helper.BuildFakeEvent(id2, "type", "name", 11), 0), DateTime.Now);
     cache.StartMessage(new OutstandingMessage(id3, null, Helper.BuildFakeEvent(id3, "type", "name", 12), 0), DateTime.Now);
     cache.Remove(id);
     Assert.AreEqual(11, cache.GetLowestPosition());
 }
コード例 #3
0
 public void can_remove_existing_item()
 {
     var id = Guid.NewGuid();
     var cache = new OutstandingMessageCache();
     cache.StartMessage(new OutstandingMessage(id, null, Helper.BuildFakeEvent(id, "type", "name", 0), 0), DateTime.Now);
     cache.Remove(id);
     Assert.AreEqual(0, cache.Count);
 }
コード例 #4
0
        private void StartMessage(OutstandingMessage message, DateTime expires)
        {
            var result = _outstandingMessages.StartMessage(message, expires);

            if (result == StartMessageResult.SkippedDuplicate)
            {
                Log.Warn("Skipping message {stream}/{eventNumber} with duplicate eventId {eventId}",
                         message.ResolvedEvent.OriginalStreamId,
                         message.ResolvedEvent.OriginalEventNumber,
                         message.EventId);
            }
        }
コード例 #5
0
 public void message_that_expires_is_included_in_expired_list()
 {
     var id = Guid.NewGuid();
     var cache = new OutstandingMessageCache();
     cache.StartMessage(new OutstandingMessage(id, null, Helper.BuildFakeEvent(id, "type", "name", 0), 0), DateTime.Now.AddSeconds(-1));
     var expired = cache.GetMessagesExpiringBefore(DateTime.Now).ToList();
     Assert.AreEqual(1, expired.Count());
     Assert.AreEqual(id, expired.FirstOrDefault().EventId);
 }
コード例 #6
0
 private void MarkBeginProcessing(OutstandingMessage message)
 {
     _statistics.IncrementProcessed();
     _outstandingMessages.StartMessage(message, DateTime.Now + _settings.MessageTimeout);
 }