/// <summary>
        /// Creates the decompression stream.
        /// </summary>
        /// <param name="input">The input.</param>
        /// <returns>
        /// A Decompression Stream.
        /// </returns>
        public Stream CreateDecompressionStream(Stream input)
        {
            byte[] buffer = new byte[1024];

            lz4.LZ4Stream stream = lz4.LZ4Stream.CreateDecompressor(input, lz4.LZ4StreamMode.Write, false);
            // the lz4 stream will decompress the data from 'buffer'
            // and write the uncompressed data to the 'innerStream'
            stream.Write(buffer, 0, buffer.Length);

            return(stream);
        }
        /// <summary>
        /// Creates the compression stream.
        /// </summary>
        /// <param name="output">The output.</param>
        /// <returns>
        /// A Compression Stream.
        /// </returns>
        public Stream CreateCompressionStream(Stream output)
        {
            byte[] buffer = new byte[1024];

            lz4.LZ4Stream stream = lz4.LZ4Stream.CreateCompressor(output, lz4.LZ4StreamMode.Write, lz4.LZ4FrameBlockMode.Linked, lz4.LZ4FrameBlockSize.Max64KB, lz4.LZ4FrameChecksumMode.Content, null, false);
            // write uncompressed data to the lz4 stream
            // the stream will compress the data and write it to the innerStream
            stream.Write(buffer, 0, buffer.Length);

            return(stream);
        }
Beispiel #3
0
 public byte[] Compress(byte[] data)
 {
     byte[] result = null;
     using (MemoryStream ms = new MemoryStream(data.Length))
     {
         using (lz4.LZ4Stream lz4Stream = lz4.LZ4Stream.CreateCompressor(ms, lz4.LZ4StreamMode.Write, lz4.LZ4FrameBlockMode.Linked, lz4.LZ4FrameBlockSize.Max64KB, lz4.LZ4FrameChecksumMode.Content))
         {
             lz4Stream.Write(data, 0, data.Length);
         }
         ms.Flush();
         result = ms.ToArray();
     }
     return(result);
 }
Beispiel #4
0
 public byte[] Decompress(byte[] data)
 {
     byte[] result = null;
     try
     {
         using (MemoryStream ms = new MemoryStream(data.Length * DECOMPRESS_BUFFER_SIZE_FACTOR))
         {
             using (lz4.LZ4Stream lz4Stream = lz4.LZ4Stream.CreateDecompressor(ms, lz4.LZ4StreamMode.Write))
             {
                 lz4Stream.Write(data, 0, data.Length);
             }
             ms.Flush();
             result = ms.ToArray();
         }
     }
     catch (Exception ex)
     {
         Console.WriteLine($"EXCEPTION: {ex.GetType().Name}, {ex.Message}");
     }
     return(result);
 }