示例#1
0
        private byte[] GetCompressed(byte[] buffer)
        {
            switch (Compression)
            {
            case CompressionType.None:
                return(buffer);

            case CompressionType.ZLib:
                return(ZlibStream.CompressBuffer(buffer));

            case CompressionType.Snappy:
                return(SnappyCodec.Compress(buffer));

            case CompressionType.Doboz:
                return(DobozCodec.Encode(buffer, 0, buffer.Length));

            case CompressionType.LZ4:
                return(LZ4.LZ4Codec.Encode(buffer, 0, buffer.Length));

            case CompressionType.LZ4HC:
                return(LZ4.LZ4Codec.EncodeHC(buffer, 0, buffer.Length));

            default:
                throw new MissingCompressionException("Unhandled compression algorithm.")
                      {
                      };
            }
        }