1 | #!/opt/bin/perl |
1 | #!/opt/bin/perl |
2 | |
2 | |
3 | use AnyEvent; |
3 | use AnyEvent; |
4 | use AnyEvent::MP; |
4 | use AnyEvent::MP; |
5 | use AnyEvent::MP::Global; |
|
|
6 | |
5 | |
7 | configure; |
6 | configure nodeid => "eg_sender/%u", seeds => ["*:4040"]; |
8 | |
7 | |
9 | my $find_timer = |
8 | my $guard = db_mon eg_receivers => sub { |
10 | AnyEvent->timer (after => 0, interval => 1, cb => sub { |
9 | my ($family, $keys) = @_; |
11 | my $ports = grp_get "eg_receivers" |
10 | return unless %$family; |
12 | or return; |
|
|
13 | |
11 | |
14 | snd $_, test => time |
12 | # now there are some receivers, send them a message |
15 | for @$ports; |
13 | snd $_ => test => time, keys %$family |
16 | }); |
14 | for keys %$family; |
|
|
15 | }; |
17 | |
16 | |
18 | AnyEvent->condvar->recv; |
17 | AnyEvent->condvar->recv; |
|
|
18 | |