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(); }
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); }