Ejemplo n.º 1
0
 internal static void StreamCopyChunk(Stream source, Stream destination, int buffersize)
 {
     using (Leayal.ByteBuffer buffer = new Leayal.ByteBuffer(buffersize))
     {
         int read = source.Read(buffer, 0, buffer.Length);
         while (read > 0)
         {
             destination.Write(buffer, 0, read);
             read = source.Read(buffer, 0, buffer.Length);
         }
     }
 }
Ejemplo n.º 2
0
 internal static void UncompressBuffer(Stream compressedStream, Stream outStream)
 {
     using (var decompressor = new ZlibStream(compressedStream, CompressionMode.Decompress))
         using (Leayal.ByteBuffer buffer = new Leayal.ByteBuffer(1024))
         {
             int read = decompressor.Read(buffer, 0, buffer.Length);
             while (read > 0)
             {
                 outStream.Write(buffer, 0, read);
                 read = decompressor.Read(buffer, 0, buffer.Length);
             }
         }
 }
Ejemplo n.º 3
0
 internal static byte[] UncompressBuffer(byte[] compressed)
 {
     using (var input = new MemoryStream(compressed))
         using (var output = new RecyclableMemoryStream())
             using (var decompressor = new ZlibStream(input, CompressionMode.Decompress))
                 using (Leayal.ByteBuffer buffer = new Leayal.ByteBuffer(1024))
                 {
                     int read = decompressor.Read(buffer, 0, buffer.Length);
                     while (read > 0)
                     {
                         output.Write(buffer, 0, read);
                         read = decompressor.Read(buffer, 0, buffer.Length);
                     }
                     return(output.ToArray());
                 }
 }