Added command-line client (for debug only).
[BoarSSL] / Twrch / MergeStream.cs
diff --git a/Twrch/MergeStream.cs b/Twrch/MergeStream.cs
deleted file mode 100644 (file)
index 4a5ac29..0000000
+++ /dev/null
@@ -1,184 +0,0 @@
-/*
- * Copyright (c) 2017 Thomas Pornin <pornin@bolet.org>
- *
- * Permission is hereby granted, free of charge, to any person obtaining 
- * a copy of this software and associated documentation files (the
- * "Software"), to deal in the Software without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sublicense, and/or sell copies of the Software, and to
- * permit persons to whom the Software is furnished to do so, subject to
- * the following conditions:
- *
- * The above copyright notice and this permission notice shall be 
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-using System;
-using System.IO;
-
-/*
- * This class merges two underlying streams (one for reading, the other
- * for writing) into a single Stream object. It can also optionally dump
- * all read and written bytes, in hexadecimal, on an provided text
- * stream (for debugging purposes).
- */
-
-internal class MergeStream : Stream {
-
-       Stream subIn, subOut;
-
-       internal TextWriter Debug {
-               get; set;
-       }
-
-       internal MergeStream(Stream subIn, Stream subOut)
-       {
-               this.subIn = subIn;
-               this.subOut = subOut;
-       }
-
-       public override int ReadByte()
-       {
-               int x = subIn.ReadByte();
-               if (Debug != null) {
-                       if (x >= 0) {
-                               Debug.WriteLine("recv:");
-                               Debug.WriteLine("   {0:x2}", x);
-                       } else {
-                               Debug.WriteLine("recv: EOF");
-                       }
-               }
-               return x;
-       }
-
-       public override int Read(byte[] buf, int off, int len)
-       {
-               int rlen = subIn.Read(buf, off, len);
-               if (Debug != null) {
-                       if (rlen <= 0) {
-                               Debug.WriteLine("recv: EOF");
-                       } else {
-                               Debug.Write("recv:");
-                               for (int i = 0; i < rlen; i ++) {
-                                       if ((i & 15) == 0) {
-                                               Debug.WriteLine();
-                                               Debug.Write("   ");
-                                       } else if ((i & 7) == 0) {
-                                               Debug.Write("  ");
-                                       } else {
-                                               Debug.Write(" ");
-                                       }
-                                       Debug.Write("{0:x2}", buf[i]);
-                               }
-                               Debug.WriteLine();
-                       }
-               }
-               return rlen;
-       }
-
-       public override void WriteByte(byte x)
-       {
-               if (Debug != null) {
-                       Debug.WriteLine("send:");
-                       Debug.WriteLine("   {0:x2}", x);
-               }
-               subOut.WriteByte(x);
-       }
-
-       public override void Write(byte[] buf, int off, int len)
-       {
-               if (Debug != null) {
-                       Debug.Write("send:");
-                       for (int i = 0; i < len; i ++) {
-                               if ((i & 15) == 0) {
-                                       Debug.WriteLine();
-                                       Debug.Write("   ");
-                               } else if ((i & 7) == 0) {
-                                       Debug.Write("  ");
-                               } else {
-                                       Debug.Write(" ");
-                               }
-                               Debug.Write("{0:x2}", buf[i]);
-                       }
-                       Debug.WriteLine();
-               }
-               subOut.Write(buf, off, len);
-       }
-
-       public override void Flush()
-       {
-               subOut.Flush();
-       }
-
-       public override void Close()
-       {
-               Exception ex1 = null, ex2 = null;
-               try {
-                       subIn.Close();
-               } catch (Exception ex) {
-                       ex1 = ex;
-               }
-               try {
-                       subOut.Close();
-               } catch (Exception ex) {
-                       ex2 = ex;
-               }
-               if (ex2 != null) {
-                       throw ex2;
-               } else if (ex1 != null) {
-                       throw ex1;
-               }
-       }
-
-       public override long Seek(long off, SeekOrigin origin)
-       {
-               throw new NotSupportedException();
-       }
-
-       public override void SetLength(long len)
-       {
-               throw new NotSupportedException();
-       }
-
-       public override bool CanRead {
-               get {
-                       return subIn.CanRead;
-               }
-       }
-
-       public override bool CanWrite {
-               get {
-                       return subOut.CanWrite;
-               }
-       }
-
-       public override bool CanSeek {
-               get {
-                       return false;
-               }
-       }
-
-       public override long Length {
-               get {
-                       throw new NotSupportedException();
-               }
-       }
-
-       public override long Position {
-               get {
-                       throw new NotSupportedException();
-               }
-               set {
-                       throw new NotSupportedException();
-               }
-       }
-}