コード例 #1
0
            public async void ShouldResetInternalBufferPositionsAfterConsecutiveSmallMessagesAreRead()
            {
                var size  = 1000;
                var limit = Constants.ChunkBufferSize - Constants.ChunkBufferResetPositionsWatermark;
                var data  = IOExtensions.GenerateBoltMessages(size, limit);

                var logger = new Mock <ILogger>();
                var reader = new ChunkReader(new MemoryStream(data.ToArray()), logger.Object);

                var count = await reader.ReadNextMessagesAsync(new MemoryStream());

                count.Should().BeGreaterOrEqualTo(limit / size);
                logger.Verify(l => l.Trace(It.IsRegex("^\\d+ bytes left in chunk buffer.*compacting\\.$"), It.IsAny <object[]>()), Times.Once);
            }