projects
/
spider.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
start with routing
[spider.git]
/
perl
/
DXChannel.pm
diff --git
a/perl/DXChannel.pm
b/perl/DXChannel.pm
index aae692efb52e4f31230c0b04b118765ee3236775..536e7bb363dc3cea6e7e1cb3c9f7dc9a83f74119 100644
(file)
--- a/
perl/DXChannel.pm
+++ b/
perl/DXChannel.pm
@@
-220,6
+220,17
@@
sub get_all_user_calls
return @out;
}
return @out;
}
+# return a list of all node callsigns
+sub get_all_node_calls
+{
+ my $ref;
+ my @out;
+ foreach $ref (values %channels) {
+ push @out, $ref->{call} if $ref->is_node;
+ }
+ return @out;
+}
+
# obtain a channel object by searching for its connection reference
sub get_by_cnum
{
# obtain a channel object by searching for its connection reference
sub get_by_cnum
{
@@
-426,6
+437,7
@@
sub disconnect
my $self = shift;
my $user = $self->{user};
my $self = shift;
my $user = $self->{user};
+ main::clean_inqueue($self); # clear out any remaining incoming frames
$user->close() if defined $user;
$self->{conn}->disconnect;
$self->del();
$user->close() if defined $user;
$self->{conn}->disconnect;
$self->del();
@@
-626,7
+638,6
@@
sub broadcast_list
#no strict;
sub AUTOLOAD
{
#no strict;
sub AUTOLOAD
{
- my $self = shift;
no strict;
my $name = $AUTOLOAD;
return if $name =~ /::DESTROY$/;
no strict;
my $name = $AUTOLOAD;
return if $name =~ /::DESTROY$/;
@@
-637,9
+648,7
@@
sub AUTOLOAD
# this clever line of code creates a subroutine which takes over from autoload
# from OO Perl - Conway
*$AUTOLOAD = sub {@_ > 1 ? $_[0]->{$name} = $_[1] : $_[0]->{$name}};
# this clever line of code creates a subroutine which takes over from autoload
# from OO Perl - Conway
*$AUTOLOAD = sub {@_ > 1 ? $_[0]->{$name} = $_[1] : $_[0]->{$name}};
- &$AUTOLOAD($self, @_);
-# *{$AUTOLOAD} = sub {@_ > 1 ? $_[0]->{$name} = $_[1] : $_[0]->{$name}} ;
-# @_ ? $self->{$name} = shift : $self->{$name} ;
+ goto &$AUTOLOAD;
}
}