public async Task<IEnumerable<BsonDocument>> SendCommand()
{
var NetworkStream = TcpClient.GetStream();
var WritePacket = new MemoryStream();
var BinaryWriter = new BinaryWriter(WritePacket);
var PacketBsonWriter = BsonWriter.Create(WritePacket);
var MsgHeader = default(MsgHeader);
BsonSerializer.Serialize(PacketBsonWriter, "admin.$cmd");
BinaryWriter.Write((uint)0);
BinaryWriter.Write((uint)100);
BsonSerializer.Serialize(PacketBsonWriter, new[] { "test" });
var WritePacketHeader = new MemoryStream();
WritePacketHeader.WriteStruct(MsgHeader);
await NetworkStream.WriteAsync(WritePacketHeader.GetBuffer(), 0, WritePacketHeader.GetBuffer().Length);
await NetworkStream.WriteAsync(WritePacket.GetBuffer(), 0, WritePacket.GetBuffer().Length);
return await ReadReplyFromMemory(new MemoryStream(await ReadPacketAsync(NetworkStream)));
}
}