public MessageWriter(IPageWriter pages, ICheckpointWriter positionWriter) { _pages = pages; _positionWriter = positionWriter; _buffer = new byte[pages.GetMaxCommitSize()]; _pageSize = pages.GetPageSize(); _stream = new MemoryStream(_buffer, true); _binary = new BinaryWriter(_stream, Encoding.UTF8, true); }
public MessageWriter(IPageWriter pages, ICheckpointWriter positionWriter) { _pages = pages; _positionWriter = positionWriter; _buffer = new byte[pages.GetMaxCommitSize()]; _pageSize = pages.GetPageSize(); _stream = new MemoryStream(_buffer, true); _binary = new BinaryWriter(_stream, Encoding.UTF8, true); }
public void quasi_random_test() { var maxCommitSize = PageWriter.GetMaxCommitSize(); var written = new List <Message>(); for (int i = 0; i < 100; i++) { var batchSize = (i % 10) + 1; var list = new Message[batchSize]; for (int j = 0; j < batchSize; j++) { var size = ((i * 1024 + j + 3) % (maxCommitSize - 512)) % Constants.MaxValueSize; var write = Message.Create("{0}:{1}", RandBytes(size + 1)); list[j] = write; } Writer.Append(list); written.AddRange(list); } }