diff --git a/modules/util/Net/fanout.pm b/modules/util/Net/fanout.pm index 6ba2595e6c8a574b8507fba4301e84a90ae90804..57d0e4b9be03417a162422ec0c8ea9524cd6d6db 100644 --- a/modules/util/Net/fanout.pm +++ b/modules/util/Net/fanout.pm @@ -249,14 +249,16 @@ sub main print join(' ', scalar localtime(time()), $channel, $msg), "\n"; } - if ($stdin->can_read(0.5)) + if ($stdin->can_read(0.2)) { my $l= <STDIN>; chop($l); my ($cmd, $channel, $msg)= split(' ', $l, 3); - if ($cmd eq 'announce') - { - $fanout->announce($channel, $msg); - } + if ($cmd eq 'announce') { $fanout->announce($channel, $msg); } + elsif ($cmd eq 'ping') { $fanout->send("ping\n"); } + elsif ($cmd eq 'info') { $fanout->send("info\n"); } + elsif ($cmd eq 'subscribe') { $fanout->subscribe($channel); } + elsif ($cmd eq 'unsubscribe') { $fanout->unsubscribe($channel); } + else { print "unknown command '$cmd'\n"; } } }