1 | #! perl |
1 | #! perl |
2 | |
2 | |
3 | # metaserver reports |
3 | # metaserver reports |
4 | |
4 | |
5 | use IO::Socket::INET; |
5 | use Coro::Socket; |
6 | |
6 | |
7 | $cf::CFG{metaserver_comment} |
7 | $cf::CFG{metaserver_comment} |
8 | or return; |
8 | or return; |
9 | |
9 | |
10 | our $UPDATE_METASERVER = Event->timer ( |
10 | our $UPDATE_METASERVER = Event->timer ( |
11 | reentrant => 0, |
11 | reentrant => 0, |
12 | after => 5, |
12 | after => 5, |
13 | interval => 299, |
13 | interval => 299, |
|
|
14 | hard => 1, |
14 | data => cf::WF_AUTOCANCEL, |
15 | data => cf::WF_AUTOCANCEL, |
15 | cb => sub { |
16 | cb => Coro::unblock_sub { |
16 | my $socket = new IO::Socket::INET |
17 | my $socket = new Coro::Socket |
17 | Proto => 'udp', |
18 | Proto => 'udp', |
18 | PeerAddr => $cf::CFG{metaserver_metaserver}, |
19 | PeerAddr => $cf::CFG{metaserver_metaserver}, |
19 | LocalAddr => $cf::CFG{metaserver_serveraddr} |
20 | LocalAddr => $cf::CFG{metaserver_serveraddr} |
20 | or die "metaserver socket creation error: $!"; |
21 | or die "metaserver socket creation error: $!"; |
21 | |
22 | |