--- /dev/null
+
+#
+# testmsg.pl - Used for testing the Msg.pm module
+# Invoke as testmsg.pl {-client|-server}
+#
+use Msg;
+use strict;
+
+my $i = 0;
+sub rcvd_msg_from_server {
+ my ($conn, $msg, $err) = @_;
+ if (defined $msg) {
+ die "Strange... shouldn't really be coming here\n";
+ }
+}
+
+my $incoming_msg_count=0;
+
+sub rcvd_msg_from_client {
+ my ($conn, $msg, $err) = @_;
+ if (defined $msg) {
+ ++$i;
+ my $len = length ($msg);
+ print "$i ($len)\n";
+ }
+}
+
+sub login_proc {
+ # Unconditionally accept
+ \&rcvd_msg_from_client;
+}
+
+my $host = 'localhost';
+my $port = 8080;
+my $prog;
+foreach $prog (@ARGV) {
+ if ($prog eq '-server') {
+ Msg->new_server($host, $port, \&login_proc);
+ print "Server created. Waiting for events";
+ Msg->event_loop();
+ } elsif ($prog eq '-client') {
+ my $conn = Msg->connect($host, $port,
+ \&rcvd_msg_from_server);
+
+ die "Client could not connect to $host:$port\n" unless $conn;
+ print "Connection successful.\n";
+ my $i;
+ my $msg = " " x 10000;
+ for ($i = 0; $i < 100; $i++) {
+ print "Sending msg $i\n";
+ $conn->send_now($msg);
+ }
+ $conn->disconnect();
+ Msg->event_loop();
+ }
+}
+