示例#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);
        }
示例#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);
        }
示例#3
0
 public void WriteUserDataFrame(int id, byte[] buffer, int offset, int count)
 {
     LZ4Loader.WriteUserDataFrame()(_innerStream, id, buffer, offset, count);
 }
示例#4
0
 public void WriteEndFrame()
 {
     LZ4Loader.WriteEndFrame()(_innerStream);
 }
示例#5
0
 private void HookInternalEvent()
 {
     LZ4Loader.UserFrameEvent()(_innerStream, (x, y) => OnUserDataFrameRead(y));
 }
示例#6
0
 public static byte[] Decompress(byte[] input, int inputOffset, int inputLength)
 {
     return(LZ4Loader.Decompress4()(input, inputOffset, inputLength));
 }
示例#7
0
 public static byte[] Decompress(byte[] input)
 {
     return(LZ4Loader.Decompress3()(input));
 }
示例#8
0
 public static byte[] Compress(byte[] input, int inputOffset, int inputLength, LZ4FrameBlockMode blockMode = LZ4FrameBlockMode.Linked, LZ4FrameBlockSize blockSize = LZ4FrameBlockSize.Max64KB, LZ4FrameChecksumMode checksumMode = LZ4FrameChecksumMode.Content, long?maxFrameSize = null)
 {
     return(LZ4Loader.Compress4()(input, inputOffset, inputLength, blockMode, blockSize, checksumMode, maxFrameSize));
 }
示例#9
0
        //public static class Custom {

        //	public static byte[] Compress(byte[] input) {
        //		return LZ4Loader.Compress1()(input);
        //	}

        //	public static byte[] Compress(byte[] input, int inputOffset, int inputLength, int passes) {
        //		return LZ4Loader.Compress2()(input, inputOffset, inputLength, passes);
        //	}

        //	public static byte[] Decompress(byte[] input) {
        //		return LZ4Loader.Decompress1()(input);
        //	}

        //	public static byte[] Decompress(byte[] input, int inputOffset, int inputLength) {
        //		return LZ4Loader.Decompress2()(input, inputOffset, inputLength);
        //	}
        //}

        //public static class Frame {

        public static byte[] Compress(byte[] input, LZ4FrameBlockMode blockMode = LZ4FrameBlockMode.Linked, LZ4FrameBlockSize blockSize = LZ4FrameBlockSize.Max1MB, LZ4FrameChecksumMode checksumMode = LZ4FrameChecksumMode.Content, long?maxFrameSize = null, bool highCompression = false)
        {
            return(LZ4Loader.Compress3()(input, blockMode, blockSize, checksumMode, maxFrameSize, highCompression));
        }