public void batcher_decorator()
        {
            var options = BuildMongoConnectionOptions();

            var store = new MongoPersistence(options);

            _mongoPersistence.Add(store);
            store.InitAsync(CancellationToken.None).Wait();

            var persistenceBatcher = new PersistenceBatchAppendDecorator(store, BatchSize, FlushTimeout);

            TaskWorker.Run(persistenceBatcher, _iterations).GetAwaiter().GetResult();
            persistenceBatcher.Dispose();
        }
Example #2
0
        public async Task write_with_batcher()
        {
            if (Batcher == null)
            {
                return;
            }

            var cts     = new CancellationTokenSource(10_000);
            var batcher = new PersistenceBatchAppendDecorator(_persistence, 512, 10);
            //            batcher.Cancel(10_000);

            await batcher.AppendAsync("a", 1, "first", null, cts.Token);

            //            await Assert.ThrowsAsync<DuplicateStreamIndexException>(() => batcher.AppendAsync("a", 1, "fail here"));

            var lastPos = await Store.ReadLastPositionAsync();

            Assert.Equal(1, lastPos);
        }