public Lmdb.BufferDto GetState() { return(Lmdb.NewBufferDto() .SetBufferFileName(_fileName) .SetBufferMaxBytes(_maxBytes) .SetBufferRecords(_records) .SetBufferStartPos(_startPos) .SetBufferPos(_pos)); }
void SetNewBuffer(Tx tx, long newStartPos) { if (_buffer != null) { throw new InvalidOperationException("Previous buffer wasn't cleaned up"); } var name = string.Format("{0:0000000000}.blob", newStartPos); var newBuffer = Lmdb .NewBufferDto() .SetBufferPos(0) .SetBufferStartPos(newStartPos) .SetBufferMaxBytes(_maxBufferBytes) .SetBufferRecords(0) .SetBufferFileName(name); Lmdb.SetBuffer(tx, 0, newBuffer); _buffer = new Buffer(newBuffer, _folder); _buffer.OpenOrCreate(); }