Change DXUser->get* to DXUser::get*
[spider.git] / perl / DXXml / Ping.pm
index 59c8ff3e6ee9067c0f16378b7660c82d820e08fd..270587198928773eba4b9e1dd72f722aa593a324 100644 (file)
@@ -1,7 +1,7 @@
 #
 # XML Ping handler
 #
-# $Id$
+#
 #
 # Copyright (c) Dirk Koopman, G1TLH
 #
@@ -13,15 +13,10 @@ package DXXml::Ping;
 use DXDebug;
 use DXProt;
 use IsoTime;
-use Investigate;
 use Time::HiRes qw(gettimeofday tv_interval);
+use Route::Node;
 
-use vars qw($VERSION $BRANCH @ISA %pings);
-$VERSION = sprintf( "%d.%03d", q$Revision$ =~ /(\d+)\.(\d+)/ );
-$BRANCH = sprintf( "%d.%03d", q$Revision$ =~ /\d+\.\d+\.(\d+)\.(\d+)/  || (0,0));
-$main::build += $VERSION;
-$main::branch += $BRANCH;
-
+use vars qw(@ISA %pings);
 @ISA = qw(DXXml);
 %pings = ();                    # outstanding ping requests outbound
 
@@ -73,7 +68,7 @@ sub add
 
        push @$ref, $self;
        $pings{$to} = $ref;
-       my $u = DXUser->get_current($to);
+       my $u = DXUser::get_current($to);
        if ($u) {
                $u->lastping(($via || $from), $main::systime);
                $u->put;
@@ -121,6 +116,12 @@ sub handle_ping_reply
                                        $tochan->{pingave} = $tochan->{pingave} + (($t - $tochan->{pingave}) / 6);
                                }
                                $tochan->{nopings} = $nopings; # pump up the timer
+                               dbg("ROUTE: $tochan->{call} ping obscount reset to $tochan->{nopings}") if isdbg('obscount');
+                               my $nref = Route::Node::get($tochan->{call});
+                               if ($nref) {
+                                       my $n = $nref->reset_obs;
+                                       dbg("ROUTE: reset obscount on $tochan->{call} to $n (ping)") if isdbg('obscount');
+                               }
                        }
                        _handle_believe($from, $fromdxchan->{call});
                } 
@@ -136,14 +137,10 @@ sub _handle_believe
 {
        my ($from, $via) = @_;
        
-       if (my $ivp = Investigate::get($from, $via)) {
-               $ivp->handle_ping;
-       } else {
-               my $user = DXUser->get_current($from);
-               if ($user) {
-                       $user->set_believe($via);
-                       $user->put;
-               }
+       my $user = DXUser::get_current($from);
+       if ($user) {
+               $user->set_believe($via);
+               $user->put;
        }
 }
 1;