protected override void WriteBody()
{
Buffer.WriteInt32(0); // reserved
Buffer.WriteCString(_collectionFullName);
Buffer.WriteInt32((int)_flags);
using (var bsonWriter = BsonWriter.Create(Buffer, WriterSettings))
{
if (_query == null)
{
bsonWriter.WriteStartDocument();
bsonWriter.WriteEndDocument();
}
else
{
BsonSerializer.Serialize(bsonWriter, _query.GetType(), _query, DocumentSerializationOptions.SerializeIdFirstInstance);
}
}
}
}