Ejemplo n.º 1
0
        private async Task PublishUnpublishedEventsAsync(IEnumerable <VersionedEvent> unpublishedEvents)
        {
            if (unpublishedEvents.Any())
            {
                await _eventStream.OnNextBatchAsync(unpublishedEvents);

                await _eventStore.DeletePublishedAsync(_key, unpublishedEvents.Select(x => x.Version));
            }
        }
        private async Task SendMessages(params string[] messages)
        {
            logger.Info(">>>Sending message{0} '{1}'...",
                        messages.Length > 1 ? "s" : "", string.Join(",", messages));

            if (messages.Length == 1)
            {
                await _stream.OnNextAsync(messages[0]);

                return;
            }
            await _stream.OnNextBatchAsync(messages);
        }
Ejemplo n.º 3
0
        private async Task SendMessages(params string[] messages)
        {
            GetLogger().Info("[{0}] \t Sending message {1} '{2}'...",
                             this.GetPrimaryKey(), messages.Length > 1 ? "s" : "", string.Join(",", messages));

            if (messages.Length == 1)
            {
                await _stream.OnNextAsync(messages[0]);

                return;
            }
            await _stream.OnNextBatchAsync(messages);
        }
Ejemplo n.º 4
0
        private Task Fire(int batchSize, [CallerMemberName] string caller = null)
        {
            // Creating a batch
            List <int> batch = new List <int>(batchSize);

            for (int i = 0; i < batchSize; i++)
            {
                batch.Add(_numProducedItems);
                _numProducedItems++;
            }

            Logger.Info("{0} (item={1})", caller, _numProducedItems);

            return(_producer.OnNextBatchAsync(batch));
        }
        public async Task BatchSendBatchConsume()
        {
            const int BatchesSent      = 3;
            const int ItemsPerBatch    = 10;
            const int ExpectedConsumed = BatchesSent * ItemsPerBatch;
            Guid      streamGuid       = Guid.NewGuid();

            IStreamProvider       provider = this.fixture.Client.GetStreamProvider(StreamBatchingTestConst.ProviderName);
            IAsyncStream <string> stream   = provider.GetStream <string>(streamGuid, StreamBatchingTestConst.BatchingNameSpace);

            for (int i = 0; i < BatchesSent; i++)
            {
                await stream.OnNextBatchAsync(Enumerable.Range(i, ItemsPerBatch).Select(v => v.ToString()));
            }
            var consumer = this.fixture.GrainFactory.GetGrain <IStreamBatchingTestConsumerGrain>(streamGuid);
            await TestingUtils.WaitUntilAsync(lastTry => CheckCounters(consumer, ExpectedConsumed, ItemsPerBatch, lastTry), Timeout);
        }
Ejemplo n.º 6
0
        private Task Fire(Tuple <int, T> batchValueTuple, [CallerMemberName] string caller = null)
        {
            var batchSize = batchValueTuple.Item1;
            var item      = batchValueTuple.Item2;

            // Creating a batch
            List <T> batch = new List <T>(batchSize);

            for (int i = 0; i < batchSize; i++)
            {
                batch.Add(item);
                _numProducedItems++;
            }

            Logger.Info("{0} (item={1}, serialNum={2})", caller, item.ToString(), _numProducedItems);

            _lastProducedItem = item;
            return(_producer.OnNextBatchAsync(batch));
        }
Ejemplo n.º 7
0
 public Task OnNextBatchAsync(IEnumerable <T> batch, StreamSequenceToken token = null) => stream.OnNextBatchAsync(batch, token);
Ejemplo n.º 8
0
 public virtual Task SendBatchPackets(ArraySegment <IPacket <TData> > packets) => asyncStream.OnNextBatchAsync(packets);
Ejemplo n.º 9
0
 public virtual Task OnNextBatchAsync(IEnumerable <object> batch, StreamSequenceToken token = null)
 {
     return(endpoint.OnNextBatchAsync(batch, token));
 }
 public Task OnNextBatchAsync(IEnumerable <T> batch, StreamSequenceToken token = null)
 {
     // ReSharper disable PossibleMultipleEnumeration
     return(Task.WhenAll(stream.OnNextBatchAsync(batch, token), batchFan(batch)));
     // ReSharper restore PossibleMultipleEnumeration
 }