#!/opt/bin/perl

use common::sense;
use AnyEvent::MP;

my ($nick, $servernode) = @ARGV;

initialise_node "slave/", $servernode;

$| = 1;

my $servernode = (resolve_node $servernode)->recv;

my $port = port;

my ($client, $server);

sub server_connect {
   print "\rconnecting...\n";

   $client = port { print "\r  \r@_\n> " };
   mon $client, sub {
      print "\rdisconnected @_\n";
      &server_connect;
   };

   $server = spawn $servernode, "::client_connect", $client, $nick;
   mon $server, $client;
}

server_connect;

my $w = AE::io 0, 0, sub {
   chomp (my $line = <STDIN>);
   print "> ";
   snd $server, $line;
};

print "> ";
AE::cv->recv;

