… | |
… | |
13 | my $port = port; |
13 | my $port = port; |
14 | |
14 | |
15 | my ($client, $server); |
15 | my ($client, $server); |
16 | |
16 | |
17 | sub server_connect { |
17 | sub server_connect { |
18 | if (my $servernodes = AnyEvent::MP::Global::find "eg_chat_server") { |
18 | my $servernodes = AnyEvent::MP::Global::find "eg_chat_server" |
19 | print "\rconnecting...\n"; |
19 | or return after 1, \&server_connect; |
20 | |
20 | |
21 | $client = port { print "\r \r@_\n> " }; |
21 | print "\rconnecting...\n"; |
22 | mon $client, sub { |
|
|
23 | print "\rdisconnected @_\n"; |
|
|
24 | &server_connect; |
|
|
25 | }; |
|
|
26 | |
22 | |
|
|
23 | $client = port { print "\r \r@_\n> " }; |
|
|
24 | mon $client, sub { |
|
|
25 | print "\rdisconnected @_\n"; |
|
|
26 | &server_connect; |
|
|
27 | }; |
|
|
28 | |
27 | $server = spawn $servernodes->[0], "::client_connect", $client, $nick; |
29 | $server = spawn $servernodes->[0], "::client_connect", $client, $nick; |
28 | mon $server, $client; |
30 | mon $server, $client; |
29 | } else { |
|
|
30 | print "\rno registered server found, retrying in 1s...\n"; |
|
|
31 | my $t; $t = AE::timer 1, 0, sub { |
|
|
32 | undef $t; |
|
|
33 | &server_connect; |
|
|
34 | }; |
|
|
35 | } |
|
|
36 | } |
31 | } |
37 | |
32 | |
38 | server_connect; |
33 | server_connect; |
39 | |
34 | |
40 | my $w = AE::io 0, 0, sub { |
35 | my $w = AE::io 0, 0, sub { |