Beispiel #1
0
        public static LZ4Stream CreateCompressor(Stream innerStream, LZ4StreamMode streamMode, LZ4FrameBlockMode blockMode = LZ4FrameBlockMode.Linked, LZ4FrameBlockSize blockSize = LZ4FrameBlockSize.Max64KB, LZ4FrameChecksumMode checksumMode = LZ4FrameChecksumMode.Content, long?maxFrameSize = null, bool leaveInnerStreamOpen = false)
        {
            var s = LZ4Loader.CreateCompressor()(innerStream, streamMode, blockMode, blockSize, checksumMode, maxFrameSize, leaveInnerStreamOpen);
            var r = new LZ4Stream();

            r._innerStream = s;
            return(r);
        }
Beispiel #2
0
        public static LZ4Stream CreateDecompressor(Stream innerStream, LZ4StreamMode streamMode, bool leaveInnerStreamOpen = false)
        {
            var s = LZ4Loader.CreateDecompressor()(innerStream, streamMode, leaveInnerStreamOpen);
            var r = new LZ4Stream();

            r._innerStream = s;
            r.HookInternalEvent();
            return(r);
        }
Beispiel #3
0
        /// <summary>Initializes a new instance of the <see cref="LZ4Stream" /> class.</summary>
        /// <param name="innerStream">The inner stream.</param>
        /// <param name="compressionMode">The compression mode.</param>
        /// <param name="highCompression">if set to <c>true</c> [high compression].</param>
        /// <param name="blockSize">Size of the block.</param>
        public LZ4Stream(
			Stream innerStream,
			LZ4StreamMode compressionMode,
			bool highCompression = false,
			int blockSize = 1024*1024)
        {
            _innerStream = innerStream;
            _compressionMode = compressionMode;
            _highCompression = highCompression;
            _blockSize = Math.Max(16, blockSize);
        }
Beispiel #4
0
 /// <summary>Initializes a new instance of the <see cref="LZ4Stream" /> class.</summary>
 /// <param name="innerStream">The inner stream.</param>
 /// <param name="compressionMode">The compression mode.</param>
 /// <param name="compressionFlags">The compression flags.</param>
 /// <param name="blockSize">Size of the block.</param>
 public LZ4Stream(
     Stream innerStream,
     LZ4StreamMode compressionMode,
     LZ4StreamFlags compressionFlags = LZ4StreamFlags.Default,
     int blockSize = 1024 *1024)
 {
     _innerStream        = innerStream;
     _compressionMode    = compressionMode;
     _highCompression    = (compressionFlags & LZ4StreamFlags.HighCompression) != 0;
     _interactiveRead    = (compressionFlags & LZ4StreamFlags.InteractiveRead) != 0;
     _isolateInnerStream = (compressionFlags & LZ4StreamFlags.IsolateInnerStream) != 0;
     _blockSize          = Math.Max(16, blockSize);
 }
Beispiel #5
0
 /// <summary>Initializes a new instance of the <see cref="LZ4Stream" /> class.</summary>
 /// <param name="innerStream">The inner stream.</param>
 /// <param name="compressionMode">The compression mode.</param>
 /// <param name="highCompression">if set to <c>true</c> high compression is used.</param>
 /// <param name="blockSize">Size of the block.</param>
 /// <param name="interactiveRead">if set to <c>true</c> interactive read mode is used.
 /// It means that <see cref="Read"/> method tries to return data as soon as possible.
 /// Please note, that this should be default behaviour but has been made optional for
 /// backward compatibility. This constructor will be changed in next major release.</param>
 public LZ4Stream(
     Stream innerStream,
     LZ4StreamMode compressionMode,
     bool highCompression = false,
     int blockSize        = 1024 *1024,
     bool interactiveRead = false)
 {
     _innerStream     = innerStream;
     _compressionMode = compressionMode;
     _highCompression = highCompression;
     _interactiveRead = interactiveRead;
     _blockSize       = Math.Max(16, blockSize);
 }
Beispiel #6
0
        public LZ4Stream(
			Stream innerStream,
			LZ4StreamMode compressionMode,
			bool highCompression,
			int blockSize = 1024*1024,
			bool interactiveRead = false)
        {
            _innerStream = innerStream;
            _compressionMode = compressionMode;
            _highCompression = highCompression;
            _interactiveRead = interactiveRead;
            _isolateInnerStream = false;
            _blockSize = Math.Max(16, blockSize);
        }
Beispiel #7
0
        /// <summary>Initializes a new instance of the <see cref="LZ4Stream" /> class.</summary>
        /// <param name="innerStream">The inner stream.</param>
        /// <param name="compressionMode">The compression mode.</param>
        /// <param name="compressionFlags">The compression flags.</param>
        /// <param name="blockSize">Size of the block.</param>
        public LZ4Stream(
			Stream innerStream,
			LZ4StreamMode compressionMode,
			LZ4StreamFlags compressionFlags = LZ4StreamFlags.Default,
			int blockSize = 1024*1024)
        {
            _innerStream = innerStream;
            _compressionMode = compressionMode;
            _highCompression = (compressionFlags & LZ4StreamFlags.HighCompression) != 0;
            _interactiveRead = (compressionFlags & LZ4StreamFlags.InteractiveRead) != 0;
            _isolateInnerStream = (compressionFlags & LZ4StreamFlags.IsolateInnerStream) != 0;
            _blockSize = Math.Max(16, blockSize);
        }