summaryrefslogtreecommitdiff
path: root/CSharp/Ivy/IvyPPC/IvyTCPStreamV4.cs
diff options
context:
space:
mode:
authorfcolin2007-02-01 10:02:26 +0000
committerfcolin2007-02-01 10:02:26 +0000
commit6542ba2792b50a4e169aec3a28430ada8d966fe6 (patch)
tree35248f9a3c46ee6896990776ab076175b98abfb6 /CSharp/Ivy/IvyPPC/IvyTCPStreamV4.cs
parentc9a6df2a3385f432419847800344142e4402b7b6 (diff)
downloadivy-csharp-6542ba2792b50a4e169aec3a28430ada8d966fe6.zip
ivy-csharp-6542ba2792b50a4e169aec3a28430ada8d966fe6.tar.gz
ivy-csharp-6542ba2792b50a4e169aec3a28430ada8d966fe6.tar.bz2
ivy-csharp-6542ba2792b50a4e169aec3a28430ada8d966fe6.tar.xz
Utilisateur : Fcolin Date : 12/01/06 Heure : 9:46 Archivé dans $/CSharp/Ivy Commentaire: (vss 7)
Diffstat (limited to 'CSharp/Ivy/IvyPPC/IvyTCPStreamV4.cs')
-rw-r--r--CSharp/Ivy/IvyPPC/IvyTCPStreamV4.cs47
1 files changed, 27 insertions, 20 deletions
diff --git a/CSharp/Ivy/IvyPPC/IvyTCPStreamV4.cs b/CSharp/Ivy/IvyPPC/IvyTCPStreamV4.cs
index de3651a..5974233 100644
--- a/CSharp/Ivy/IvyPPC/IvyTCPStreamV4.cs
+++ b/CSharp/Ivy/IvyPPC/IvyTCPStreamV4.cs
@@ -15,7 +15,7 @@ namespace IvyBus
{
BinaryReader input;
BinaryWriter output;
- IvyProtocolInterface receiver;
+ IvyProtocol receiver;
/* the protocol magic numbers */
internal enum MessageType : ushort
@@ -36,7 +36,7 @@ namespace IvyBus
};
- internal IvyTCPStreamV4(Socket socket, IvyProtocolInterface _receiver) : base( socket )
+ internal IvyTCPStreamV4(Socket socket, IvyProtocol _receiver) : base( socket )
{
input = new BinaryReader(stream, Encoding.ASCII);
@@ -83,65 +83,65 @@ namespace IvyBus
output.Flush();
}
- public override void TokenStartRegexp(ushort port, string appName)
+ override internal void TokenStartRegexp(ushort port, string appName)
{
sendMsg(MessageType.StartRegexp, port, appName);
}
- public override void TokenEndRegexp()
+ override internal void TokenEndRegexp()
{
sendMsg(MessageType.EndRegexp, 0, "");
}
- public override void TokenApplicationId(ushort priority, string appId)
+ override internal void TokenApplicationId(ushort priority, string appId)
{
sendMsg(MessageType.ApplicationId, priority, appId);
}
- internal override void TokenAddBinding(IvyBindingBase bind)
+ override internal void TokenAddBinding(Ivy.ApplicationBinding bind)
{
- if (bind)
+ if (bind.type == Ivy.BindingType.BindRegexp)
{
- sendMsg(MessageType.AddRegexp, id, bind); /* perhaps we should perform some checking here */
+ sendMsg(MessageType.AddRegexp, bind.key, bind.expression); /* perhaps we should perform some checking here */
}
else
{
- sendMsg(MessageType.AddBinding, id, bind); /* perhaps we should perform some checking here */
+ sendMsg(MessageType.AddBinding, bind.key, bind.expression); /* perhaps we should perform some checking here */
}
}
- public override void TokenDelBinding(ushort id)
+ override internal void TokenDelBinding(ushort id)
{
sendMsg(MessageType.DelBinding, id, null );
}
- public override void TokenDirectMsg(ushort id, string message)
+ override internal void TokenDirectMsg(ushort id, string message)
{
sendMsg(MessageType.DirectMsg, id, message);
}
- public override void TokenPong(string s)
+ override internal void TokenPong(string s)
{
sendMsg(MessageType.Pong, 0, s);
}
- public override void TokenPing(string s)
+ override internal void TokenPing(string s)
{
sendMsg(MessageType.Ping, 0, s);
}
- public override void TokenBye(ushort id, string message)
+ override internal void TokenBye(ushort id, string message)
{
sendMsg(MessageType.Bye, id, message);
}
- public override void TokenDie(ushort id, string message)
+ override internal void TokenDie(ushort id, string message)
{
sendMsg(MessageType.Die, id, message);
}
- public override void TokenMsg(ushort key, string[] args)
+ override internal void TokenMsg(ushort key, string[] args)
{
sendMsg(MessageType.Msg, key, args );
}
- public override void TokenError(ushort key, string arg)
+ override internal void TokenError(ushort key, string arg)
{
sendMsg(MessageType.Msg, key, arg);
}
@@ -183,8 +183,9 @@ namespace IvyBus
}
return arg;
}
- internal override bool receiveMsg()
+ override internal bool receiveMsg()
{
+ Ivy.ApplicationBinding bind = new Ivy.ApplicationBinding();
MessageType msgType = MessageType.Die;
ushort msgId = 0;
string[] msgData = null;
@@ -206,11 +207,17 @@ namespace IvyBus
break;
case MessageType.AddRegexp:
- receiver.TokenAddRegexp(msgId, msgData[0]);
+ bind.type = Ivy.BindingType.BindRegexp;
+ bind.key = msgId;
+ bind.expression = msgData[0];
+ receiver.TokenAddBinding(bind);
break;
case MessageType.AddBinding:
- receiver.TokenAddBinding(msgId, msgData[0]);
+ bind.type = Ivy.BindingType.BindSimple;
+ bind.key = msgId;
+ bind.expression = msgData[0];
+ receiver.TokenAddBinding(bind);
break;
case MessageType.DelBinding: