Esempio n. 1
0
        public void WriteItem(string name, Action<Stream> callback)
        {
            var dict = new Dictionary<string, Stream>();
            var r = new RangBuffer();
            dict[name] = r.R;
            if (first)
            {
                first = false;
                svc.CompressionMode = SevenZip.CompressionMode.Create;
            }
            else
            {
                svc.CompressionMode = SevenZip.CompressionMode.Append;
            }

            var task = Task.Factory.StartNew(() =>
                {
                    svc.CompressStreamDictionary(dict, path);
                });
            try
            {
                callback(r.W);
            }
            finally
            {
                r.W.Dispose();
            }
            task.Wait();
        }
Esempio n. 2
0
        public void WriteItem(string name, Action <Stream> callback)
        {
            var dict = new Dictionary <string, Stream>();
            var r    = new RangBuffer();

            dict[name] = r.R;
            if (first)
            {
                first = false;
                svc.CompressionMode = SevenZip.CompressionMode.Create;
            }
            else
            {
                svc.CompressionMode = SevenZip.CompressionMode.Append;
            }

            var task = Task.Factory.StartNew(() =>
            {
                svc.CompressStreamDictionary(dict, path);
            });

            try
            {
                callback(r.W);
            }
            finally
            {
                r.W.Dispose();
            }
            task.Wait();
        }
Esempio n. 3
0
 protected override void Dispose(bool disposing)
 {
     if (disposing && _r != null)
     {
         _r.CloseRead();
         _r = null;
     }
     base.Dispose(disposing);
 }
Esempio n. 4
0
 private long _total;                 // bytes read so far
 public RStream(RangBuffer r)
 {
     this._r = r;
 }
Esempio n. 5
0
 protected override void Dispose(bool disposing)
 {
     if (disposing && _r != null)
     {
         _r.CloseWrite();
         _r = null;
     }
     base.Dispose(disposing);
 }
Esempio n. 6
0
                private long _total; // bytes written so far

                #endregion Fields

                #region Constructors

                public WStream(RangBuffer r)
                {
                    this._r = r;
                }
Esempio n. 7
0
 private long _total;                 // bytes read so far
 public RStream(RangBuffer r)
 {
     _r = r;
 }