summaryrefslogtreecommitdiff
path: root/Ivy/Ivy/IvyUDPStreamV3.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Ivy/Ivy/IvyUDPStreamV3.cs')
-rw-r--r--Ivy/Ivy/IvyUDPStreamV3.cs104
1 files changed, 0 insertions, 104 deletions
diff --git a/Ivy/Ivy/IvyUDPStreamV3.cs b/Ivy/Ivy/IvyUDPStreamV3.cs
deleted file mode 100644
index 63a8679..0000000
--- a/Ivy/Ivy/IvyUDPStreamV3.cs
+++ /dev/null
@@ -1,104 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Text;
-using System.Net;
-using System.Net.Sockets;
-using System.IO;
-
-namespace IvyBus
-{
- class IvyUDPStreamV3 : IvyUDPStream
- {
- StreamReader input;
- StreamWriter output;
-
- /// the protocol version number
- internal const int PROCOCOLVERSION = 3;
-
- public IvyUDPStreamV3(Socket _socket) : base( _socket , PROCOCOLVERSION )
- {
- input = new StreamReader(in_stream, Encoding.ASCII);
- output = new StreamWriter(out_stream, Encoding.ASCII);
- }
- /*
- * message Syntax:
- * this is a text formated message
- *
- * message Format:
- protocol_version, TCP server port , appId, appName
- */
- private ushort DeserializeShort()
- {
- int read;
- ushort ret = 0;
- char digit;
- // this will eat next non digit car ie space
- do
- {
- read = input.Read();
- if (read < 0)
- throw new EndOfStreamException();
- digit = (char)read;
- if ( Char.IsDigit(digit) )
- ret = (ushort)(ret * 10 + (digit-0x30));
- } while (Char.IsDigit(digit));
- return ret;
- }
- private string DeserializeString(char sep)
- {
- int read;
- char car;
- StringBuilder str = new StringBuilder();
- // this will eat next non digit car ie space
- do
- {
- read = input.Read();
- if (read < 0)
- throw new EndOfStreamException();
- if (read == 0) break;
- car = (char)read;
- if (car != sep)
- str.Append(car);
- } while (car != sep);
- return str.ToString();
- }
-
- internal override void Deserialize(out ushort version, out ushort port, out string appId, out string appName)
- {
- version = 0;
- port = 0;
- appId = "";
- appName = "";
- try {
- version = DeserializeShort();
- port = DeserializeShort();
- //Optionel in V3 protocol depend on client version
- appId = DeserializeString(' ');
- appName = DeserializeString('\n');
- }
- catch( EndOfStreamException )
- {
- // Bad protocol message receive or without appId and appName
- }
- input.DiscardBufferedData();
- }
- private void Serialize(ushort arg, char sep)
- {
- output.Write(arg);
- output.Write(sep);
- }
- private void Serialize(string arg, char sep)
- {
- output.Write(arg);
- output.Write(sep);
- }
- internal override void Serialize(ushort port, string appId, string appName)
- {
- Serialize(PROCOCOLVERSION, ' ');
- Serialize(port,' ');
- Serialize(appId,' '); //No AppId in V3
- Serialize(appName, '\n'); //No Appname in V3
- output.Flush();
- }
- }
-}