コード例 #1
0
ファイル: Compressors.cs プロジェクト: duanyunlun/CSSockets
 public override void Write(byte[] data)
 {
     ThrowIfEnded();
     ThrowIfFinished();
     lock (Clock)
     {
         Caccessor.Write(data, 0, data.Length);
         Cread();
     }
 }
コード例 #2
0
ファイル: Compressors.cs プロジェクト: duanyunlun/CSSockets
 public void Finish()
 {
     ThrowIfEnded();
     lock (Clock)
     {
         ThrowIfFinished();
         Finished = true;
         Caccessor.Dispose();
         Cstream.Dispose();
     }
 }
コード例 #3
0
ファイル: Compressors.cs プロジェクト: duanyunlun/CSSockets
 public override void Write(byte[] data)
 {
     ThrowIfEnded();
     lock (Clock)
     {
         ThrowIfFinished();
         Cstream.Write(data, 0, data.Length);
         Cstream.Position = 0;
         int len;
         len = Caccessor.Read(Cbuffer, 0, Cbuffer.Length);
         while (len > 0)
         {
             byte[] spliced = new byte[len];
             Buffer.BlockCopy(Cbuffer, 0, spliced, 0, len);
             Bwrite(spliced);
             len = Caccessor.Read(Cbuffer, 0, Cbuffer.Length);
         }
     }
 }