public CatchupAllSubscription(Guid subscriptionId, IPublisher bus, Position position, bool resolveLinks, IEventFilter eventFilter, ClaimsPrincipal user, bool requiresLeader, IReadIndex readIndex, uint?maxWindowSize, CancellationToken cancellationToken) { if (bus == null) { throw new ArgumentNullException(nameof(bus)); } if (eventFilter == null) { throw new ArgumentNullException(nameof(eventFilter)); } if (readIndex == null) { throw new ArgumentNullException(nameof(readIndex)); } _subscriptionId = subscriptionId; _bus = bus; _nextPosition = position == Position.End ? Position.FromInt64(readIndex.LastIndexedPosition, readIndex.LastIndexedPosition) : position; _startPosition = position == Position.End ? Position.Start : position; _resolveLinks = resolveLinks; _eventFilter = eventFilter; _user = user; _requiresLeader = requiresLeader; _maxWindowSize = maxWindowSize ?? ReadBatchSize; _disposedTokenSource = new CancellationTokenSource(); _buffer = new ConcurrentQueueWrapper <ResolvedEvent>(); _tokenRegistration = cancellationToken.Register(_disposedTokenSource.Dispose); _currentPosition = _startPosition; Log.Information("Catch-up subscription {subscriptionId} to $all:{eventFilter} running...", _subscriptionId, _eventFilter); }
public void return_correct_counts_and_values_2() { var queue = new ConcurrentQueueWrapper <int>(); for (int i = 1; i <= 1000; i++) { queue.Enqueue(i); Assert.AreEqual(i, queue.Count); } int x; for (int i = 1; i <= 1000; i++) { Assert.AreEqual(true, queue.TryDequeue(out x)); Assert.AreEqual(i, x); Assert.AreEqual(1000 - i, queue.Count); } }
public void return_correct_counts_and_values_1() { var queue = new ConcurrentQueueWrapper <int>(); Assert.AreEqual(0, queue.Count); queue.Enqueue(1234); Assert.AreEqual(1, queue.Count); queue.Enqueue(12345); Assert.AreEqual(2, queue.Count); int val; Assert.AreEqual(true, queue.TryDequeue(out val)); Assert.AreEqual(1234, val); Assert.AreEqual(1, queue.Count); Assert.AreEqual(true, queue.TryDequeue(out val)); Assert.AreEqual(12345, val); Assert.AreEqual(0, queue.Count); Assert.AreEqual(false, queue.TryDequeue(out val)); Assert.AreEqual(false, queue.TryDequeue(out val)); }
public void ConcurrentQueueWrapperEnqueueW10Threads() { QueueBase <string> queue = new ConcurrentQueueWrapper <string>(); base.TestEnqueue(queue, 2); }
public void ConcurrentQueueWrapperDequeueW4Threads() { QueueBase <string> queue = new ConcurrentQueueWrapper <string>(); base.TestEnqueueDequeue(queue, 4); }
public concurrent_queue_wrapper_with_parallel_dequeues_should() { _concurrentQueue = new ConcurrentQueueWrapper <int>(); _seenNegativeCount = false; _totalDequeued = 0; }