summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
4137292)
make pingint and obscount defaults set/var able
+21Oct02=======================================================================
+1. Fix msg aging.
+2. make the default pinginterval and obscount variable (set/var
+$DXProt::pingint and $DXProt::obscount)
20Oct02=======================================================================
1. remove dupe check on local sysop announces
2. fix format errors on sh/muf for 5.8.0
20Oct02=======================================================================
1. remove dupe check on local sysop announces
2. fix format errors on sh/muf for 5.8.0
Tell the system that the call(s) are to be treated as AK1A cluster and
fed PC Protocol rather normal user commands.
Tell the system that the call(s) are to be treated as AK1A cluster and
fed PC Protocol rather normal user commands.
-=== 8^SET/OBSCOUNT <count> <nodecall>^Set the 'pump-up' obscelence counter
+=== 8^SET/OBSCOUNT <count> <call>^Set the 'pump-up' obscelence PING counter
From 1.35 onwards neighbouring nodes are pinged at regular intervals (see
SET/PINGINTERVAL), usually 300 seconds or 5 minutes. There is a 'pump-up'
counter which is decremented on every outgoing ping and then reset to
From 1.35 onwards neighbouring nodes are pinged at regular intervals (see
SET/PINGINTERVAL), usually 300 seconds or 5 minutes. There is a 'pump-up'
counter which is decremented on every outgoing ping and then reset to
$self->{'read'} = shift;
$self->{rrreq} = shift;
$self->{delete} = shift;
$self->{'read'} = shift;
$self->{rrreq} = shift;
$self->{delete} = shift;
- $self->{deletetime} = shift;
+ $self->{deletetime} = shift || $self->{delete} ? 0 : ($self->{t} + $maxage);
$self->{gotit} = [];
# $self->{lastt} = $main::systime;
$self->{lines} = [];
$self->{gotit} = [];
# $self->{lastt} = $main::systime;
$self->{lines} = [];
# clean the message queue
clean_old() if $main::systime - $last_clean > 3600 ;
# clean the message queue
clean_old() if $main::systime - $last_clean > 3600 ;
+
+ # actual remove all the 'deleted' messages in one hit.
+ # this has to be delayed until here otherwise it only does one at
+ # a time because @msg is rewritten everytime del_msg is called.
+ my @del = grep {!$_->{tonode} && $_->{delete} && $_->{deletetime} < $main::systime} @msg;
+ for (@del) {
+ $_->del_msg;
+ }
+
$last_clean = $main::systime;
return;
}
$last_clean = $main::systime;
return;
}
my $rr = $ref->{rrreq} ? '1' : '0';
my $priv = $ref->{private} ? '1': '0';
my $del = $ref->{delete} ? '1' : '0';
my $rr = $ref->{rrreq} ? '1' : '0';
my $priv = $ref->{private} ? '1': '0';
my $del = $ref->{delete} ? '1' : '0';
- my $delt = $ref->{deletetime} || '0';
+ my $delt = $ref->{deletetime} || $ref->{t} + $maxage;
print $fh "=== $ref->{msgno}^$ref->{to}^$ref->{from}^$ref->{t}^$priv^$ref->{subject}^$ref->{origin}^$ref->{'read'}^$rr^$del^$delt\n";
print $fh "=== ", join('^', @{$ref->{gotit}}), "\n";
my $line;
print $fh "=== $ref->{msgno}^$ref->{to}^$ref->{from}^$ref->{t}^$priv^$ref->{subject}^$ref->{origin}^$ref->{'read'}^$rr^$del^$delt\n";
print $fh "=== ", join('^', @{$ref->{gotit}}), "\n";
my $line;
- # actual remove all the 'deleted' messages in one hit.
- # this has to be delayed until here otherwise it only does one at
- # a time because @msg is rewritten everytime del_msg is called.
- my @del = grep {!$_->{tonode} && $_->{delete} && $_->{deletetime} < $main::systime} @msg;
- for (@del) {
- $_->del_msg;
- }
# mark old messages for deletion
foreach $ref (@msg) {
# mark old messages for deletion
foreach $ref (@msg) {
- if (ref($ref) && !$ref->{keep} && $ref->{t} < $main::systime - $maxage) {
+ if (ref($ref) && !$ref->{keep} && $ref->{deletetime} < $main::systime) {
# this is for IMMEDIATE destruction
$ref->{delete}++;
# this is for IMMEDIATE destruction
$ref->{delete}++;
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
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
%nodehops $baddx $badspotter $badnode $censorpc $rspfcheck
$allowzero $decode_dk0wcy $send_opernam @checklist);
%nodehops $baddx $badspotter $badnode $censorpc $rspfcheck
$allowzero $decode_dk0wcy $send_opernam @checklist);
$eph_restime = 180;
$eph_info_restime = 60*60;
$eph_pc34_restime = 30;
$eph_restime = 180;
$eph_info_restime = 60*60;
$eph_pc34_restime = 30;
+$pingint = 5*60;
+$obscount = 2;
# ping neighbour node stuff
my $ping = $user->pingint;
# ping neighbour node stuff
my $ping = $user->pingint;
- $ping = 5*60 unless defined $ping;
+ $ping = $pingint unless defined $ping;
$self->{pingint} = $ping;
$self->{pingint} = $ping;
- $self->{nopings} = $user->nopings || 2;
+ $self->{nopings} = $user->nopings || $obscount;
$self->{pingtime} = [ ];
$self->{pingave} = 999;
$self->{metric} ||= 100;
$self->{pingtime} = [ ];
$self->{pingave} = 999;
$self->{metric} ||= 100;
$dd->Terse(1);
$dd->Quotekeys(0);
$value = $dd->Dumpxs;
$dd->Terse(1);
$dd->Quotekeys(0);
$value = $dd->Dumpxs;
+ $value =~ s/([\r\n\t])/sprintf("%%%02X", ord($1))/eg;
}
$prompt = sprintf "%15s: %s", $prompt, $value;
return ($priv, $prompt);
}
$prompt = sprintf "%15s: %s", $prompt, $value;
return ($priv, $prompt);