protected async Task<IEnumerable<BsonDocument>> ReadReplyFromMemory(MemoryStream PacketStream)
{
var PacketStreamReader = new BinaryReader(PacketStream);
var MsgHeader = PacketStream.ReadStruct<MsgHeader>();
var ResponseFlags = PacketStreamReader.ReadUInt32();
var CursorID = PacketStreamReader.ReadUInt64();
var StartingFrom = PacketStreamReader.ReadUInt32();
var NumberReturned = PacketStreamReader.ReadUInt32();
var Results = new List<BsonDocument>();
for (int n = 0; n < NumberReturned; n++)
{
Results.Add(BsonSerializer.Deserialize<BsonDocument>(PacketStream));
}
return Results;
}