public void CopyUncommitedData(Stream tempData)
{
// copy uncommitted data
foreach (Command uncommitted in operationsInTransactions
.SelectMany(x => x.Value)
.Where(x => x.Type == CommandType.Put))
{
long pos = tempData.Position;
byte[] data = ReadData(uncommitted.Position, uncommitted.Size);
byte[] lenInBytes = BitConverter.GetBytes(data.Length);
tempData.Write(lenInBytes, 0, lenInBytes.Length);
tempData.Write(data, 0, data.Length);
uncommitted.Position = pos;
}
}
}