X-Git-Url: http://dxcluster.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXUser.pm;h=8bbd0fbcb6a5ad3fb4ef8f28ea644dca4a7fb00c;hb=7046b8ba37863c3040cee17e46d100675e720eaf;hp=b254ae5ab1723b33b159058014af9a146295afb4;hpb=ab10b5e76b152d41273281b30b019e4c82ed22d8;p=spider.git diff --git a/perl/DXUser.pm b/perl/DXUser.pm index b254ae5a..8bbd0fbc 100644 --- a/perl/DXUser.pm +++ b/perl/DXUser.pm @@ -92,6 +92,8 @@ $v3 = 0; prompt => '0,Required Prompt', version => '1,Version', build => '1,Build', + believe => '1,Believable nodes,parray', + lastping => '1,Last Ping at,ptimelist', ); #no strict; @@ -777,6 +779,41 @@ sub unset_passphrase my $self = shift; delete $self->{passphrase}; } + +sub set_believe +{ + my $self = shift; + my $call = uc shift; + $self->{believe} ||= []; + push @{$self->{believe}}, $call unless grep $_ eq $call, @{$self->{believe}}; +} + +sub unset_believe +{ + my $self = shift; + my $call = uc shift; + if (exists $self->{believe}) { + $self->{believe} = [grep {$_ ne $call} @{$self->{believe}}]; + delete $self->{believe} unless @{$self->{believe}}; + } +} + +sub believe +{ + my $self = shift; + return exists $self->{believe} ? @{$self->{believe}} : (); +} + +sub lastping +{ + my $self = shift; + my $call = shift; + $self->{lastping} ||= {}; + $self->{lastping} = {} unless ref $self->{lastping}; + my $b = $self->{lastping}; + $b->{$call} = shift if @_; + return $b->{$call}; +} 1; __END__