- $dxchan->send($dxchan->msg('pingi', $field[2], atime($main::systime), $main::systime - $r->{t})) if $dxchan;
+ next unless $dxchan;
+ my $t = tv_interval($r->{t}, [ gettimeofday ]);
+ if ($dxchan->is_user) {
+ my $s = sprintf "%.2f", $t;
+ my $ave = $tochan->pingave if $tochan;
+ $dxchan->send($dxchan->msg('pingi', $field[2], $s, $ave))
+ } elsif ($dxchan->is_ak1a) {
+ if ($tochan) {
+ $tochan->nopings(3); # pump up the timer
+ $tochan->{pingtime} += $t;
+ $tochan->{pingrec} += 1;
+ $tochan->{pingave} = $tochan->{pingtime} / $tochan->{pingrec};
+ }
+ }