add DXCIDR, fix version no tracking
[spider.git] / perl / Route / Node.pm
index 617a0aed43a0718c47cebaf5ea28413d95165a39..e2b154169b38b0cdc0a062508ee91dba42563776 100644 (file)
@@ -19,7 +19,7 @@ use vars qw(%list %valid @ISA $max $filterdef $obscount);
 @ISA = qw(Route);
 
 %valid = (
-                 parent => '0,Parent Calls,parray',
+                 K => '9,Seen on PC92K,yesno',
                  nodes => '0,Nodes,parray',
                  users => '0,Users,parray',
                  usercount => '0,User Count',
@@ -29,11 +29,10 @@ use vars qw(%list %valid @ISA $max $filterdef $obscount);
                  lastmsg => '0,Last Route Msg,atime',
                  lastid => '0,Last Route MsgID',
                  do_pc9x => '0,Uses pc9x,yesno',
-                 via_pc92 => '0,Came in via pc92,yesno',
+                 via_pc92 => '0,In via pc92?,yesno',
                  obscount => '0,Obscount',
                  last_PC92C => '9,Last PC92C',
-                 PC92C_dxchan => '9,Channel of PC92C,phash',
-                 ip => '0,IP Address',
+                 PC92C_dxchan => '9,PC92C hops,phash',
 );
 
 $filterdef = $Route::filterdef;
@@ -79,6 +78,7 @@ sub add
        }
        $self = $parent->new($call, @_);
        $parent->_addnode($self);
+       dbg("CLUSTER: node $call added") if isdbg('cluster');
        return $self;
 }
 
@@ -110,6 +110,7 @@ sub del
                $self->_del_users;
                delete $list{$ncall};
                push @nodes, $self;
+               dbg("CLUSTER: node $ncall deleted") if isdbg('cluster');
        }
        return @nodes;
 }
@@ -203,6 +204,14 @@ sub del_user
        return @out;
 }
 
+# is a user on this node
+sub is_user
+{
+       my $self = shift;
+       my $call = shift;
+       return scalar grep {$_ eq $call} @{$self->{users}};
+}
+
 sub usercount
 {
        my $self = shift;
@@ -270,6 +279,7 @@ sub calc_config_changes
        return (\@dnodes, \@dusers, \@nnodes, \@nusers);
 }
 
+
 sub new
 {
        my $pkg = shift;
@@ -298,7 +308,7 @@ sub get
        my $call = shift;
        $call = shift if ref $call;
        my $ref = $list{uc $call};
-       dbg("Failed to get Node $call" ) if !$ref && isdbg('routerr');
+       dbg("ROUTE: Failed to get Node $call" ) if !$ref && isdbg('routerr');
        return $ref;
 }
 
@@ -389,7 +399,7 @@ sub DESTROY
        my $pkg = ref $self;
        my $call = $self->{call} || "Unknown";
 
-       dbg("destroying $pkg with $call") if isdbg('routelow');
+       dbg("ROUTE: destroying $pkg with $call") if isdbg('routelow');
 }
 
 #