ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/AnyEvent-MP/eg/chat_server
Revision: 1.4
Committed: Fri Aug 14 15:38:02 2009 UTC (14 years, 9 months ago) by root
Branch: MAIN
Changes since 1.3: +25 -30 lines
Log Message:
*** empty log message ***

File Contents

# Content
1 #!/opt/bin/perl
2
3 use common::sense;
4 use AnyEvent::MP;
5
6 initialise_node;
7
8 my %clients;
9
10 sub msg {
11 print "relaying: $_[0]\n";
12 snd $_, $_[0]
13 for values %clients;
14 }
15
16 sub client_connect {
17 my ($client, $name) = @_;
18
19 mon $client;
20 mon $client, sub {
21 delete $clients{$client};
22 msg "$name (quits, @_)";
23 };
24
25 $clients{$client} = $client;
26
27 msg "$name (joins)";
28
29 rcv $SELF, sub {
30 msg "$name: $_[0]";
31 0
32 };
33 }
34
35 warn "server ready.\n";
36
37 AE::cv->recv;