summaryrefslogtreecommitdiff
path: root/Echolot/Pinger.pm
diff options
context:
space:
mode:
authorPeter Palfrader <peter@palfrader.org>2002-09-11 03:10:27 +0000
committerPeter Palfrader <peter@palfrader.org>2002-09-11 03:10:27 +0000
commitd1b1f4190ac0f55eeb08e0f676acb4d717996a06 (patch)
treede21c9084fa4139e59bf6dbae1d4002cc51edc34 /Echolot/Pinger.pm
parentd594ffd29b361bf2b964d76ddfdd7a0e1b480d12 (diff)
Add sendpings command
Diffstat (limited to 'Echolot/Pinger.pm')
-rw-r--r--Echolot/Pinger.pm18
1 files changed, 14 insertions, 4 deletions
diff --git a/Echolot/Pinger.pm b/Echolot/Pinger.pm
index b31e339..3fc7d32 100644
--- a/Echolot/Pinger.pm
+++ b/Echolot/Pinger.pm
@@ -1,7 +1,7 @@
package Echolot::Pinger;
# (c) 2002 Peter Palfrader <peter@palfrader.org>
-# $Id: Pinger.pm,v 1.20 2002/09/04 01:47:01 weasel Exp $
+# $Id: Pinger.pm,v 1.21 2002/09/11 03:10:27 weasel Exp $
#
=pod
@@ -84,8 +84,10 @@ sub do_ping($$$) {
return 1;
};
-sub send_pings($) {
- my ($scheduled_for) = @_;
+sub send_pings($;$) {
+ my ($scheduled_for, $which) = @_;
+
+ $which = '' unless defined $which;
my $call_intervall = Echolot::Config::get()->{'pinger_interval'};
my $send_every_n_calls = Echolot::Config::get()->{'ping_every_nth_time'};
@@ -99,11 +101,19 @@ sub send_pings($) {
next unless $remailer->{'pingit'};
my $address = $remailer->{'address'};
+ next unless (
+ $which eq 'all' ||
+ $which eq $address ||
+ $which eq '');
for my $type (Echolot::Globals::get()->{'storage'}->get_types($address)) {
next unless Echolot::Config::get()->{'do_pings'}->{$type};
for my $key (Echolot::Globals::get()->{'storage'}->get_keys($address, $type)) {
- next unless ($this_call_id eq (Echolot::Tools::makeShortNumHash($address.$type.$key.$session_id) % $send_every_n_calls));
+ next unless (
+ $which eq $address ||
+ $which eq 'all' ||
+ (($which eq '') && ($this_call_id eq (Echolot::Tools::makeShortNumHash($address.$type.$key.$session_id) % $send_every_n_calls))));
+
print "ping calling $type, $address, $key\n" if Echolot::Config::get()->{'verbose'};
do_ping($type, $address, $key);
}