summaryrefslogtreecommitdiff
path: root/comm/test.cc
diff options
context:
space:
mode:
authorchatty2000-11-28 17:00:54 +0000
committerchatty2000-11-28 17:00:54 +0000
commit4c26f7000135a6184a36c6c416ce625d21d43382 (patch)
tree6811db5dc1863ed7cfdc3d343abc94369f342497 /comm/test.cc
parent1766d5847c86de962190224b94ee71e208fc5862 (diff)
downloadivy-league-4c26f7000135a6184a36c6c416ce625d21d43382.zip
ivy-league-4c26f7000135a6184a36c6c416ce625d21d43382.tar.gz
ivy-league-4c26f7000135a6184a36c6c416ce625d21d43382.tar.bz2
ivy-league-4c26f7000135a6184a36c6c416ce625d21d43382.tar.xz
*** empty log message ***
Diffstat (limited to 'comm/test.cc')
-rw-r--r--comm/test.cc122
1 files changed, 0 insertions, 122 deletions
diff --git a/comm/test.cc b/comm/test.cc
deleted file mode 100644
index a6dfabf..0000000
--- a/comm/test.cc
+++ /dev/null
@@ -1,122 +0,0 @@
-#include "uch.h"
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#define TESTMSG
-
-#ifdef TESTMSG
-class MyRemoteAgent : public UchRemoteAgent {
-public:
- MyRemoteAgent (UchAgent* a, UchChannel* ch) : UchRemoteAgent (a, ch) {}
- ~MyRemoteAgent () {}
-bool NewMessage (UchMsgBuffer&, bool);
-};
-
-class MyAgent : public UchAgent {
-public:
- MyAgent (UchAddress* a) : UchAgent (a) {}
- ~MyAgent () {}
-UchRemoteAgent* HandleNew (UchChannel* ch) { return new MyRemoteAgent (this, ch); }
-};
-
-class MyMsg : public UchMessage {
- CcuString S1;
- CcuString S2;
-
-public:
- MyMsg (const char* s1, const char* s2) : UchMessage (), S1 (s1), S2 (s2) {}
- MyMsg () : UchMessage (), S1 ("S1"), S2 ("S2") {}
- ~MyMsg () {}
- void ReadFrom (UchMsgBuffer&, lword);
- void WriteTo (UchMsgBuffer&);
- void Dump () { printf ("[%s] [%s]\n", (const char*) S1, (const char*) S2); }
-};
-
-bool
-MyRemoteAgent :: NewMessage (UchMsgBuffer& b, bool)
-{
- MyMsg m;
- b.Get (m);
- m.Dump ();
- return true;
-}
-
-void
-MyMsg :: WriteTo (UchMsgBuffer& b)
-{
- b << S1 << S2;
-}
-
-void
-MyMsg :: ReadFrom (UchMsgBuffer& b, lword len)
-{
- b >> S1 >> S2;
-}
-
-#endif
-
-UchAgent* A;
-UchPortServer* PS;
-const char* BUF;
-
-int
-fMatch (const char* match, lword host, sword port, const char*)
-{
- printf ("0x%lx:%d -> %s\n", host, port, match);
- UchInetAddress* addr = new UchInetAddress (host == UchInetAddress::LoopBack ()
- ? LOOPBACK : host, port);
- UchRemoteAgent* ra = A->Contact (addr);
- if (ra) {
- printf ("joined\n");
-#ifdef TESTMSG
- MyMsg m ("hello", "world");
- ra->Send (m);
-#endif
- } else {
- printf ("connection failed\n");
- delete addr;
- }
- return 1;
-}
-
-void
-fQuit (int, int)
-{
- printf ("quit\n");
- PS->Remove (BUF, *(UchInetAddress*) A->BoundTo ());
- exit (0);
-}
-
-void
-fTick (Millisecond t)
-{
- printf ("%d\n", t);
-}
-
-main (int argc, char** argv)
-{
- const char* id = argc > 1 ? argv [1] : "";
- UchInetAddress addr (ANYADDR);
-#ifdef TESTMSG
- MyAgent a (&addr);
-#else
- UchAgent a (&addr);
-#endif
- if (a.Setup ()) {
- A = &a;
- UchPortServer ps ("portserv");
- PS = &ps;
- ps.Match ("portserv:chatty", fMatch);
- char buf [64];
- strcpy (buf, "%s:%u:test");
- strcat (buf, id);
- BUF = buf;
- printf ("registering as %s\n", buf);
- ps.Register (buf, *(UchInetAddress*) a.BoundTo ());
- UchSignalHandler h (*a.GetMultiplexer (), SigHup, fQuit);
-// UchTimeOut to (*a.GetMultiplexer (), 1000, fTick);
- a.Run ();
- ps.Remove (buf, *(UchInetAddress*) a.BoundTo ());
- }
-}