Пример #1
0
        public static void Run()
        {
            using (var factory = new PipelineFactory())
            {
                var filePath = Path.GetFullPath("Program.cs");

                // This is what Stream looks like
                //var fs = File.OpenRead(filePath);
                //var compressed = new MemoryStream();
                //var compressStream = new DeflateStream(compressed, CompressionMode.Compress);
                //fs.CopyTo(compressStream);
                //compressStream.Flush();
                //compressed.Seek(0, SeekOrigin.Begin);

                var input = factory.ReadFile(filePath)
                              .DeflateCompress(factory, CompressionLevel.Optimal)
                              .DeflateDecompress(factory);

                // Wrap the console in a pipeline writer
                var output = factory.CreateWriter(Console.OpenStandardOutput());

                // Copy from the file reader to the console writer
                input.CopyToAsync(output).GetAwaiter().GetResult();

                input.Complete();

                output.Complete();
            }
        }
Пример #2
0
        public static void Run()
        {
            using (var factory = new PipelineFactory())
            {
                var filePath = Path.GetFullPath("Program.cs");

                // This is what Stream looks like
                //var fs = File.OpenRead(filePath);
                //var compressed = new MemoryStream();
                //var compressStream = new DeflateStream(compressed, CompressionMode.Compress);
                //fs.CopyTo(compressStream);
                //compressStream.Flush();
                //compressed.Seek(0, SeekOrigin.Begin);

                var input = factory.ReadFile(filePath)
                            .DeflateCompress(factory, CompressionLevel.Optimal)
                            .DeflateDecompress(factory);

                // Wrap the console in a pipeline writer
                var output = factory.CreateWriter(Console.OpenStandardOutput());

                // Copy from the file reader to the console writer
                input.CopyToAsync(output).GetAwaiter().GetResult();

                input.Complete();

                output.Complete();
            }
        }
Пример #3
0
 public StreamPipelineConnection(PipelineFactory factory, Stream stream)
 {
     Input  = factory.CreateReader(stream);
     Output = factory.CreateWriter(stream);
 }
        public static IPipelineWriter CreateGZipCompressWriter(this PipelineFactory factory, IPipelineWriter writer, CompressionLevel compressionLevel)
        {
            var deflater = new WritableDeflateTransform(compressionLevel, ZLibNative.GZip_DefaultWindowBits);

            return(factory.CreateWriter(writer, deflater.Execute));
        }
 public static IPipelineWriter GZipCompress(this IPipelineWriter writer, PipelineFactory factory, CompressionLevel compressionLevel)
 {
     var deflater = new WritableDeflateTransform(compressionLevel, ZLibNative.GZip_DefaultWindowBits);
     return factory.CreateWriter(writer, deflater.Execute);
 }