summaryrefslogtreecommitdiff
path: root/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/ZlibStream.cs
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2021-01-25 14:28:30 +0800
committerchai <chaifix@163.com>2021-01-25 14:28:30 +0800
commit6eb915c129fc90c6f4c82ae097dd6ffad5239efc (patch)
tree7dd2be50edf41f36b60fac84696e731c13afe617 /Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/ZlibStream.cs
+scripts
Diffstat (limited to 'Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/ZlibStream.cs')
-rw-r--r--Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/ZlibStream.cs278
1 files changed, 278 insertions, 0 deletions
diff --git a/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/ZlibStream.cs b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/ZlibStream.cs
new file mode 100644
index 00000000..83ca3ae8
--- /dev/null
+++ b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/ZlibStream.cs
@@ -0,0 +1,278 @@
+using System;
+using System.IO;
+
+namespace Ionic.Zlib
+{
+ public class ZlibStream : Stream
+ {
+ public virtual FlushType FlushMode
+ {
+ get
+ {
+ return this._baseStream._flushMode;
+ }
+ set
+ {
+ bool disposed = this._disposed;
+ if (disposed)
+ {
+ throw new ObjectDisposedException("ZlibStream");
+ }
+ this._baseStream._flushMode = value;
+ }
+ }
+
+ public int BufferSize
+ {
+ get
+ {
+ return this._baseStream._bufferSize;
+ }
+ set
+ {
+ bool disposed = this._disposed;
+ if (disposed)
+ {
+ throw new ObjectDisposedException("ZlibStream");
+ }
+ bool flag = this._baseStream._workingBuffer != null;
+ if (flag)
+ {
+ throw new ZlibException("The working buffer is already set.");
+ }
+ bool flag2 = value < 1024;
+ if (flag2)
+ {
+ throw new ZlibException(string.Format("Don't be silly. {0} bytes?? Use a bigger buffer, at least {1}.", value, 1024));
+ }
+ this._baseStream._bufferSize = value;
+ }
+ }
+
+ public virtual long TotalIn
+ {
+ get
+ {
+ return this._baseStream._z.TotalBytesIn;
+ }
+ }
+
+ public virtual long TotalOut
+ {
+ get
+ {
+ return this._baseStream._z.TotalBytesOut;
+ }
+ }
+
+ public override bool CanRead
+ {
+ get
+ {
+ bool disposed = this._disposed;
+ if (disposed)
+ {
+ throw new ObjectDisposedException("ZlibStream");
+ }
+ return this._baseStream._stream.CanRead;
+ }
+ }
+
+ public override bool CanSeek
+ {
+ get
+ {
+ return false;
+ }
+ }
+
+ public override bool CanWrite
+ {
+ get
+ {
+ bool disposed = this._disposed;
+ if (disposed)
+ {
+ throw new ObjectDisposedException("ZlibStream");
+ }
+ return this._baseStream._stream.CanWrite;
+ }
+ }
+
+ public override long Length
+ {
+ get
+ {
+ throw new NotSupportedException();
+ }
+ }
+
+ public override long Position
+ {
+ get
+ {
+ bool flag = this._baseStream._streamMode == ZlibBaseStream.StreamMode.Writer;
+ long result;
+ if (flag)
+ {
+ result = this._baseStream._z.TotalBytesOut;
+ }
+ else
+ {
+ bool flag2 = this._baseStream._streamMode == ZlibBaseStream.StreamMode.Reader;
+ if (flag2)
+ {
+ result = this._baseStream._z.TotalBytesIn;
+ }
+ else
+ {
+ result = 0L;
+ }
+ }
+ return result;
+ }
+ set
+ {
+ throw new NotSupportedException();
+ }
+ }
+
+ internal ZlibBaseStream _baseStream;
+
+ private bool _disposed;
+
+ public ZlibStream(Stream stream, CompressionMode mode) : this(stream, mode, CompressionLevel.Default, false)
+ {
+ }
+
+ public ZlibStream(Stream stream, CompressionMode mode, CompressionLevel level) : this(stream, mode, level, false)
+ {
+ }
+
+ public ZlibStream(Stream stream, CompressionMode mode, bool leaveOpen) : this(stream, mode, CompressionLevel.Default, leaveOpen)
+ {
+ }
+
+ public ZlibStream(Stream stream, CompressionMode mode, CompressionLevel level, bool leaveOpen)
+ {
+ this._baseStream = new ZlibBaseStream(stream, mode, level, ZlibStreamFlavor.ZLIB, leaveOpen);
+ }
+
+ protected override void Dispose(bool disposing)
+ {
+ try
+ {
+ bool flag = !this._disposed;
+ if (flag)
+ {
+ bool flag2 = disposing && this._baseStream != null;
+ if (flag2)
+ {
+ this._baseStream.Close();
+ }
+ this._disposed = true;
+ }
+ }
+ finally
+ {
+ base.Dispose(disposing);
+ }
+ }
+
+ public override void Flush()
+ {
+ bool disposed = this._disposed;
+ if (disposed)
+ {
+ throw new ObjectDisposedException("ZlibStream");
+ }
+ this._baseStream.Flush();
+ }
+
+ public override int Read(byte[] buffer, int offset, int count)
+ {
+ bool disposed = this._disposed;
+ if (disposed)
+ {
+ throw new ObjectDisposedException("ZlibStream");
+ }
+ return this._baseStream.Read(buffer, offset, count);
+ }
+
+ public override long Seek(long offset, SeekOrigin origin)
+ {
+ bool disposed = this._disposed;
+ if (disposed)
+ {
+ throw new ObjectDisposedException("ZlibStream");
+ }
+ return this._baseStream.Seek(offset, origin);
+ }
+
+ public override void SetLength(long value)
+ {
+ bool disposed = this._disposed;
+ if (disposed)
+ {
+ throw new ObjectDisposedException("ZlibStream");
+ }
+ this._baseStream.SetLength(value);
+ }
+
+ public override void Write(byte[] buffer, int offset, int count)
+ {
+ bool disposed = this._disposed;
+ if (disposed)
+ {
+ throw new ObjectDisposedException("ZlibStream");
+ }
+ this._baseStream.Write(buffer, offset, count);
+ }
+
+ public static byte[] CompressString(string s)
+ {
+ byte[] result;
+ using (MemoryStream memoryStream = new MemoryStream())
+ {
+ Stream compressor = new ZlibStream(memoryStream, CompressionMode.Compress, CompressionLevel.BestCompression);
+ ZlibBaseStream.CompressString(s, compressor);
+ result = memoryStream.ToArray();
+ }
+ return result;
+ }
+
+ public static byte[] CompressBuffer(byte[] b)
+ {
+ byte[] result;
+ using (MemoryStream memoryStream = new MemoryStream())
+ {
+ Stream compressor = new ZlibStream(memoryStream, CompressionMode.Compress, CompressionLevel.BestCompression);
+ ZlibBaseStream.CompressBuffer(b, compressor);
+ result = memoryStream.ToArray();
+ }
+ return result;
+ }
+
+ public static string UncompressString(byte[] compressed)
+ {
+ string result;
+ using (MemoryStream memoryStream = new MemoryStream(compressed))
+ {
+ Stream decompressor = new ZlibStream(memoryStream, CompressionMode.Decompress);
+ result = ZlibBaseStream.UncompressString(compressed, decompressor);
+ }
+ return result;
+ }
+
+ public static byte[] UncompressBuffer(byte[] compressed)
+ {
+ byte[] result;
+ using (MemoryStream memoryStream = new MemoryStream(compressed))
+ {
+ Stream decompressor = new ZlibStream(memoryStream, CompressionMode.Decompress);
+ result = ZlibBaseStream.UncompressBuffer(compressed, decompressor);
+ }
+ return result;
+ }
+ }
+}