summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CSharp/Ivy/IvyPPC/IvyTCPStream.cs46
1 files changed, 46 insertions, 0 deletions
diff --git a/CSharp/Ivy/IvyPPC/IvyTCPStream.cs b/CSharp/Ivy/IvyPPC/IvyTCPStream.cs
new file mode 100644
index 0000000..3e2eebf
--- /dev/null
+++ b/CSharp/Ivy/IvyPPC/IvyTCPStream.cs
@@ -0,0 +1,46 @@
+using System;
+using System.Collections.Specialized;
+using System.Text;
+using System.Net;
+using System.Net.Sockets;
+using System.IO;
+
+namespace IvyBus
+{
+ abstract class IvyTCPStream : IvyProtocolInterface
+ {
+ protected NetworkStream stream;
+
+ public IvyTCPStream(Socket socket)
+ {
+ //stream = new BufferedStream(new NetworkStream(socket,true));
+ stream = new NetworkStream(socket, true);
+ }
+ internal void Close()
+ {
+ stream.Close();
+ }
+ abstract internal bool receiveMsg();
+
+ abstract public void TokenStartRegexp(ushort port, string appName);
+
+ abstract public void TokenEndRegexp();
+ abstract public void TokenApplicationId(ushort priority, string appId);
+
+ abstract public void TokenAddRegexp(ushort id, string bind);
+ abstract public void TokenAddBinding(ushort id, string bind);
+
+ abstract public void TokenDelBinding(ushort id);
+
+ abstract public void TokenDirectMsg(ushort id, string message);
+ abstract public void TokenPong(string s);
+ abstract public void TokenPing(string s);
+
+ abstract public void TokenBye(ushort id, string message);
+ abstract public void TokenDie(ushort id, string message);
+
+ abstract public void TokenMsg(ushort key, string[] args);
+
+ abstract public void TokenError(ushort key, string arg);
+ }
+}