unless ($ncall eq $self->{call} || $self->is_believed($ncall)) {
if (my $ivp = Investigate::get($ncall, $self->{call})) {
$ivp->store_pcxx($pcno,$line,$origin,@_);
+ } else {
+ dbg("PCPROT: We don't believe $ncall on $self->{call}") if isdbg('chanerr');
}
- dbg("PCPROT: We don't believe $ncall on $self->{call}");
return;
}
unless ($ncall eq $self->{call} || $self->is_believed($ncall)) {
if (my $ivp = Investigate::get($ncall, $self->{call})) {
$ivp->store_pcxx($pcno,$line,$origin,@_);
+ } else {
+ dbg("PCPROT: We don't believe $ncall on $self->{call}") if isdbg('chanerr');
}
- dbg("PCPROT: We don't believe $ncall on $self->{call}");
return;
}
$ivp->here($here);
$ivp->store_pcxx($pcno,$genline,$origin,'PC19',$here,$call,$conf,$ver,$_[-1]);
} else {
- dbg("PCPROT: We don't believe $call on $self->{call}");
+ dbg("PCPROT: We don't believe $call on $self->{call}") if isdbg('chanerr');
}
$user->put;
next;
unless ($call eq $self->{call} || $self->is_believed($call)) {
if (my $ivp = Investigate::get($call, $self->{call})) {
$ivp->store_pcxx($pcno,$line,$origin,@_);
+ } else {
+ dbg("PCPROT: We don't believe $call on $self->{call}") if isdbg('chanerr');
}
- dbg("PCPROT: We don't believe $call on $self->{call}");
return;
}
$s =~ s/\^H\d\d?\^?\~?$//;
$r = 1 if exists $eph{$s}; # pump up the dup if it keeps circulating
$eph{$s} = $main::systime + $t;
- dbg("PCPROT: emphemeral duplicate") if $r && isdbg('chan');
+ dbg("PCPROT: emphemeral duplicate") if $r && isdbg('chanerr');
return $r;
}
pcxx => '0,Stored PCProt,parray',
);
+my %via = ();
sub new
{
my $self = shift;
dbg("Investigate: ping received for $self->{call} via $self->{via}") if isdbg('investigate');
if ($self->{state} eq 'waitping') {
+ $via{$self->{via}} = 0; # cue up next ping on this interface
delete $list{"$self->{via},$self->{call}"};
my $user = DXUser->get_current($self->{via});
if ($user) {
{
while (my ($k, $v) = each %list) {
if ($v->{state} eq 'start') {
- if ($main::systime > $lastping+$pingint) {
+ my $v = $via{$v->{via}} || 0;
+ if ($main::systime > $v+$pingint) {
DXProt::addping($main::mycall, $v->{call}, $v->{via});
$v->{start} = $lastping = $main::systime;
dbg("Investigate: ping sent to $v->{call} via $v->{via}") if isdbg('investigate');
$v->chgstate('waitping');
+ $via{$v->{via}} = $main::systime;
}
} elsif ($v->{state} eq 'waitping') {
if ($main::systime > $v->{start} + $maxpingwait) {