projects
/
spider.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
1. I believe I have fixed all the login/logout 'broken pipe' errors
[spider.git]
/
perl
/
DXChannel.pm
diff --git
a/perl/DXChannel.pm
b/perl/DXChannel.pm
index de9ecaa7540c5a9386853ad4610d19ebd86fbfbf..3637b7626885a6ec63e20720c8b3008ba03ba270 100644
(file)
--- a/
perl/DXChannel.pm
+++ b/
perl/DXChannel.pm
@@
-30,7
+30,6
@@
use DXM;
use DXUtil;
use DXDebug;
use Filter;
use DXUtil;
use DXDebug;
use Filter;
-use Carp;
use strict;
use vars qw(%channels %valid);
use strict;
use vars qw(%channels %valid);
@@
-52,6
+51,7
@@
use vars qw(%channels %valid);
consort => '5,Connection Type',
'sort' => '5,Type of Channel',
wwv => '0,Want WWV,yesno',
consort => '5,Connection Type',
'sort' => '5,Type of Channel',
wwv => '0,Want WWV,yesno',
+ wcy => '0,Want WCY,yesno',
wx => '0,Want WX,yesno',
talk => '0,Want Talk,yesno',
ann => '0,Want Announce,yesno',
wx => '0,Want WX,yesno',
talk => '0,Want Talk,yesno',
ann => '0,Want Announce,yesno',
@@
-73,9
+73,11
@@
use vars qw(%channels %valid);
delayed => '5,Delayed messages,parray',
annfilter => '5,Announce Filter',
wwvfilter => '5,WWV Filter',
delayed => '5,Delayed messages,parray',
annfilter => '5,Announce Filter',
wwvfilter => '5,WWV Filter',
+ wcyfilter => '5,WCY Filter',
spotfilter => '5,Spot Filter',
inannfilter => '5,Input Ann Filter',
inwwvfilter => '5,Input WWV Filter',
spotfilter => '5,Spot Filter',
inannfilter => '5,Input Ann Filter',
inwwvfilter => '5,Input WWV Filter',
+ inwcyfilter => '5,Input WCY Filter',
inspotfilter => '5,Input Spot Filter',
passwd => '9,Passwd List,parray',
pingint => '5,Ping Interval ',
inspotfilter => '5,Input Spot Filter',
passwd => '9,Passwd List,parray',
pingint => '5,Ping Interval ',
@@
-120,6
+122,7
@@
sub alloc
$self->{lang} = $user->lang;
$user->new_group() if !$user->group;
$self->{group} = $user->group;
$self->{lang} = $user->lang;
$user->new_group() if !$user->group;
$self->{group} = $user->group;
+ $self->{sort} = $user->sort;
}
$self->{startt} = $self->{t} = time;
$self->{state} = 0;
}
$self->{startt} = $self->{t} = time;
$self->{state} = 0;
@@
-130,6
+133,7
@@
sub alloc
# get the filters
$self->{spotfilter} = Filter::read_in('spots', $call, 0);
$self->{wwvfilter} = Filter::read_in('wwv', $call, 0);
# get the filters
$self->{spotfilter} = Filter::read_in('spots', $call, 0);
$self->{wwvfilter} = Filter::read_in('wwv', $call, 0);
+ $self->{wcyfilter} = Filter::read_in('wcy', $call, 0);
$self->{annfilter} = Filter::read_in('ann', $call, 0);
bless $self, $pkg;
$self->{annfilter} = Filter::read_in('ann', $call, 0);
bless $self, $pkg;
@@
-159,7
+163,7
@@
sub get_all_ak1a
my $ref;
my @out;
foreach $ref (@list) {
my $ref;
my @out;
foreach $ref (@list) {
- push @out, $ref if $ref->is_
ak1a
;
+ push @out, $ref if $ref->is_
node
;
}
return @out;
}
}
return @out;
}
@@
-216,7
+220,12
@@
sub is_bbs
return $self->{'sort'} eq 'B';
}
return $self->{'sort'} eq 'B';
}
-# is it an ak1a cluster ?
+sub is_node
+{
+ my $self = shift;
+ return $self->{'sort'} =~ /[ACRSX]/;
+}
+# is it an ak1a node ?
sub is_ak1a
{
my $self = shift;
sub is_ak1a
{
my $self = shift;
@@
-230,13
+239,34
@@
sub is_user
return $self->{'sort'} eq 'U';
}
return $self->{'sort'} eq 'U';
}
-# is it a c
onnect typ
e
-sub is_c
onnect
+# is it a c
lx nod
e
+sub is_c
lx
{
my $self = shift;
return $self->{'sort'} eq 'C';
}
{
my $self = shift;
return $self->{'sort'} eq 'C';
}
+# is it a spider node
+sub is_spider
+{
+ my $self = shift;
+ return $self->{'sort'} eq 'S';
+}
+
+# is it a DXNet node
+sub is_dxnet
+{
+ my $self = shift;
+ return $self->{'sort'} eq 'X';
+}
+
+# is it a ar-cluster node
+sub is_arcluster
+{
+ my $self = shift;
+ return $self->{'sort'} eq 'R';
+}
+
# for perl 5.004's benefit
sub sort
{
# for perl 5.004's benefit
sub sort
{
@@
-347,8
+377,7
@@
sub disconnect
my $conn = $self->{conn};
my $call = $self->{call};
my $conn = $self->{conn};
my $call = $self->{call};
- $self->finish();
- $conn->send_now("Z$call|bye") if $conn; # this will cause 'client' to disconnect
+ $self->finish($conn);
$user->close() if defined $user;
$conn->disconnect() if $conn;
$self->del();
$user->close() if defined $user;
$conn->disconnect() if $conn;
$self->del();