Ejemplo n.º 1
0
        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));
            }
        }