X-Git-Url: http://dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXProt.pm;h=90ac30f026379646a03bd3500f475b27a881b860;hb=495e620d66fbc1b8c64dd65ff8d89fc43a2e6f08;hp=9a0b2121ff17fc9e0d5f3cc6b11e3c25a8fdc97f;hpb=0c1082247c57a0ec2fa35a0a81af54b1e6ac2b89;p=spider.git diff --git a/perl/DXProt.pm b/perl/DXProt.pm index 9a0b2121..90ac30f0 100644 --- a/perl/DXProt.pm +++ b/perl/DXProt.pm @@ -37,7 +37,6 @@ use DXProtHandle; use strict; -use vars qw($VERSION $BRANCH); use vars qw($pc11_max_age $pc23_max_age $last_pc50 $eph_restime $eph_info_restime $eph_pc34_restime $last_hour $last10 %eph %pings %rcmds $ann_to_talk $pingint $obscount %pc19list $chatdupeage $chatimportfn @@ -45,10 +44,9 @@ use vars qw($pc11_max_age $pc23_max_age $last_pc50 $eph_restime $eph_info_restim %nodehops $baddx $badspotter $badnode $censorpc $rspfcheck $allowzero $decode_dk0wcy $send_opernam @checklist $eph_pc15_restime $pc92_update_period $last_pc92_update + %pc92_find $pc92_find_timeout ); -($VERSION, $BRANCH) = dxver(q$Revision$); - $pc11_max_age = 1*3600; # the maximum age for an incoming 'real-time' pc11 $pc23_max_age = 1*3600; # the maximum age for an incoming 'real-time' pc23 @@ -77,6 +75,9 @@ $investigation_int = 12*60*60; # time between checks to see if we can see this n $pc19_version = 5466; # the visible version no for outgoing PC19s generated from pc59 $pc92_update_period = 30*60; # the period between PC92 C updates $last_pc92_update = time + int rand(180); # the last time a PC92 config update +%pc92_find = (); # outstanding pc92 find operations +$pc92_find_timeout = 30; # maximum time to wait for a reply + @checklist = @@ -432,6 +433,7 @@ sub process } Investigate::process(); + clean_pc92_find(); # every ten seconds if ($t - $last10 >= 10) { @@ -444,7 +446,7 @@ sub process dbg("ROUTE: sending pc92 update") if isdbg('route'); send_pc92_update(); time_out_pc92_routes(); - $last_pc92_update = $main::systime + int rand(180); + $last_pc92_update = $main::systime + int rand(5*60); } $last10 = $t; @@ -1168,7 +1170,7 @@ sub talk } else { $self->send(pc10($from, $to, $via, $line, $origin)); } - Log('talk', $to, $from, $via?$via:$self->call, $line) unless $origin && $origin ne $main::mycall; + Log('talk', $to, $from, '>' . ($via || $origin || $self->call), $line) unless $origin && $origin ne $main::mycall; } # send it if it isn't the except list and isn't isolated and still has a hop count @@ -1497,5 +1499,28 @@ sub import_chat } } +# start a pc92 find operation +sub start_pc92_find +{ + my $dxchan = shift; + my $target = shift; + my $key = "$dxchan->{call}|$target"; + if ($pc92_find{$key}) { + + } +} + +# function (not method) to handle pc92 find returns +sub handle_pc92_find_reply +{ + my ($dxchan, $node, $from, $target, $flag, $ms) = @_; + + $dxchan->print_pc92_find_reply($node, $target, $flag, $ms) if $dxchan->can('print_pc92_find_return'); +} + +sub clean_pc92_find +{ + +} 1; __END__