private CompressedMessage GetCompressedMessage(MongoDBMessage message, CompressorType?compressorType = null) { if (!compressorType.HasValue) { compressorType = CompressorType.Zlib; } using (var memoryStream = new MemoryStream()) { var encoderFactory = new BinaryMessageEncoderFactory(memoryStream, _messageEncoderSettings); message.GetEncoder(encoderFactory).WriteMessage(message); var byteBuffer = new ByteArrayBuffer(memoryStream.ToArray()); var stream = new ByteBufferStream(byteBuffer); return(new CompressedMessage( message, stream, compressorType.Value)); } }