projects
/
spider.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
disable propagation of PC9x sentences
[spider.git]
/
perl
/
RouteDB.pm
diff --git
a/perl/RouteDB.pm
b/perl/RouteDB.pm
index 9a63d368f121cc5b896136cf56f96d587caf87a2..83f8119e4874ee84e2276f83ec270fd016a2db61 100644
(file)
--- a/
perl/RouteDB.pm
+++ b/
perl/RouteDB.pm
@@
-25,10
+25,8
@@
use Prefix;
use strict;
use vars qw($VERSION $BRANCH);
use strict;
use vars qw($VERSION $BRANCH);
-$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;
+
+main::mkver($VERSION = q$Revision$);
use vars qw(%list %valid $default);
use vars qw(%list %valid $default);
@@
-36,7
+34,7
@@
use vars qw(%list %valid $default);
$default = 99; # the number of hops to use if we don't know
%valid = (
call => "0,Callsign",
$default = 99; # the number of hops to use if we don't know
%valid = (
call => "0,Callsign",
- item
s
=> "0,Interfaces,parray",
+ item => "0,Interfaces,parray",
t => '0,Last Seen,atime',
hops => '0,Hops',
count => '0,Times Seen',
t => '0,Last Seen,atime',
hops => '0,Hops',
count => '0,Times Seen',
@@
-46,7
+44,7
@@
sub new
{
my $pkg = shift;
my $call = shift;
{
my $pkg = shift;
my $call = shift;
- return bless {call => $call,
items
=> {}}, (ref $pkg || $pkg);
+ return bless {call => $call,
list
=> {}}, (ref $pkg || $pkg);
}
# get the best one
}
# get the best one
@@
-76,7
+74,7
@@
sub _sorted
} else {
$a->{hops} <=> $b->{hops};
}
} else {
$a->{hops} <=> $b->{hops};
}
- } values %{$ref->{item
s
}};
+ } values %{$ref->{item}};
}
}
@@
-90,11
+88,12
@@
sub update
my $interface = shift;
my $hops = shift || $default;
my $ref = $list{$call} || RouteDB->new($call);
my $interface = shift;
my $hops = shift || $default;
my $ref = $list{$call} || RouteDB->new($call);
- my $iref = $ref->{
list}->{$interface} ||= RouteDB::Item->new($call,
$interface);
+ my $iref = $ref->{
item}->{$interface} ||= RouteDB::Item->new(
$interface);
$iref->{count}++;
$iref->{hops} = $hops if $hops < $iref->{hops};
$iref->{t} = shift || $main::systime;
$iref->{count}++;
$iref->{hops} = $hops if $hops < $iref->{hops};
$iref->{t} = shift || $main::systime;
- $ref->{list}->{$interface} ||= $iref;
+ $ref->{item}->{$interface} ||= $iref;
+ $list{$call} ||= $ref;
}
sub delete
}
sub delete
@@
-102,7
+101,15
@@
sub delete
my $call = shift;
my $interface = shift;
my $ref = $list{$call};
my $call = shift;
my $interface = shift;
my $ref = $list{$call};
- delete $ref->{list}->{$interface} if $ref;
+ delete $ref->{item}->{$interface} if $ref;
+}
+
+sub delete_interface
+{
+ my $interface = shift;
+ foreach my $ref (values %list) {
+ delete $ref->{item}->{$interface};
+ }
}
#
}
#