Ejemplo n.º 1
0
        public byte[] Compress(byte[] Source)
        {
            byte[] array = new byte[Source.Length + 400];
            uint   num   = (uint)((int)QuickLZ.qlz_compress(Source, array, (IntPtr)Source.Length, this.state_compress));

            byte[] array2 = new byte[num];
            Array.Copy(array, array2, (long)((ulong)num));
            return(array2);
        }
Ejemplo n.º 2
0
 public QuickLZ()
 {
     this.state_compress = new byte[QuickLZ.qlz_get_setting(1)];
     if (this.QLZ_STREAMING_BUFFER == 0u)
     {
         this.state_decompress = this.state_compress;
         return;
     }
     this.state_decompress = new byte[QuickLZ.qlz_get_setting(2)];
 }
Ejemplo n.º 3
0
        internal byte[] ReadObjectData()
        {
            byte[] array = new byte[this.objLength];
            this.file.ReadBuffer(array, this.position + (long)this.keyLength, this.objLength);
            if (this.compressionLevel == 0)
            {
                return(array);
            }
            QuickLZ quickLZ = new QuickLZ();

            return(quickLZ.Decompress(array));
        }
Ejemplo n.º 4
0
        internal byte[] WriteObjectData()
        {
            MemoryStream   memoryStream   = new MemoryStream();
            BinaryWriter   writer         = new BinaryWriter(memoryStream);
            ObjectStreamer objectStreamer = this.file.streamerManager.streamerByType[this.obj.GetType()];

            objectStreamer.Write(writer, this.obj);
            byte[] array = memoryStream.ToArray();
            if (this.compressionLevel == 0)
            {
                return(array);
            }
            QuickLZ quickLZ = new QuickLZ();

            return(quickLZ.Compress(array));
        }
Ejemplo n.º 5
0
        internal override void Write(BinaryWriter writer)
        {
            MemoryStream memoryStream = new MemoryStream();
            BinaryWriter writer2      = new BinaryWriter(memoryStream);

            for (int i = 0; i < this.count; i++)
            {
                this.file.streamerManager.Serialize(writer2, this.objects[i]);
            }
            byte[] array = memoryStream.ToArray();
            if (this.compressionLevel != 0)
            {
                QuickLZ quickLZ = new QuickLZ();
                array = quickLZ.Compress(array);
            }
            this.keyLength = 77;
            this.objLength = array.Length;
            if (this.recLength == -1)
            {
                this.recLength = this.keyLength + this.objLength;
            }
            writer.Write(this.label);
            writer.Write(this.deleted);
            writer.Write(this.dateTime.Ticks);
            writer.Write(this.position);
            writer.Write(this.keyLength);
            writer.Write(this.objLength);
            writer.Write(this.recLength);
            writer.Write(this.compressionMethod);
            writer.Write(this.compressionLevel);
            writer.Write(this.typeId);
            writer.Write(this.size);
            writer.Write(this.count);
            writer.Write(this.dateTime1.Ticks);
            writer.Write(this.dateTime2.Ticks);
            writer.Write(this.prev);
            writer.Write(this.next);
            writer.Write(array, 0, array.Length);
        }
Ejemplo n.º 6
0
 public uint SizeDecompressed(byte[] Source)
 {
     return((uint)((int)QuickLZ.qlz_size_decompressed(Source)));
 }
Ejemplo n.º 7
0
 public byte[] Decompress(byte[] Source)
 {
     byte[] array = new byte[(int)QuickLZ.qlz_size_decompressed(Source)];
     qlz_decompress(Source, array, state_decompress);
     return(array);
 }
Ejemplo n.º 8
0
		internal override void Write(BinaryWriter writer)
		{
			MemoryStream memoryStream = new MemoryStream();
			BinaryWriter writer2 = new BinaryWriter(memoryStream);
			for (int i = 0; i < this.count; i++)
			{
				this.file.streamerManager.Serialize(writer2, this.objects[i]);
			}
			byte[] array = memoryStream.ToArray();
			if (this.compressionLevel != 0)
			{
				QuickLZ quickLZ = new QuickLZ();
				array = quickLZ.Compress(array);
			}
			this.keyLength = 77;
			this.objLength = array.Length;
			if (this.recLength == -1)
			{
				this.recLength = this.keyLength + this.objLength;
			}
			writer.Write(this.label);
			writer.Write(this.deleted);
			writer.Write(this.dateTime.Ticks);
			writer.Write(this.position);
			writer.Write(this.keyLength);
			writer.Write(this.objLength);
			writer.Write(this.recLength);
			writer.Write(this.compressionMethod);
			writer.Write(this.compressionLevel);
			writer.Write(this.typeId);
			writer.Write(this.size);
			writer.Write(this.count);
			writer.Write(this.dateTime1.Ticks);
			writer.Write(this.dateTime2.Ticks);
			writer.Write(this.prev);
			writer.Write(this.next);
			writer.Write(array, 0, array.Length);
		}