X-Git-Url: http://gb7djk.dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXChannel.pm;h=c87108d60d4c363ceb367cb61b59739ae0f11bb0;hb=a9bc2c5a87691ca5bed6e408c5908695bd65387a;hp=895a47b14d655ff7c6f3dd66d93d02ea757104d2;hpb=9704e8d29489c2db3a0051f58ea1e40e76b7f843;p=spider.git diff --git a/perl/DXChannel.pm b/perl/DXChannel.pm index 895a47b1..c87108d6 100644 --- a/perl/DXChannel.pm +++ b/perl/DXChannel.pm @@ -213,6 +213,7 @@ sub rec if (defined $msg) { push @{$self->{inqueue}}, $msg; } + $self->process_one; } # obtain a channel object by callsign [$obj = DXChannel::get($call)] @@ -709,28 +710,28 @@ sub process_one # handle A records my $user = $self->user; - if ($sort eq 'A' || $sort eq 'O') { - $self->start($line, $sort); - } elsif ($sort eq 'I') { - die "\$user not defined for $call" if !defined $user; + if ($sort eq 'I') { + die "\$user not defined for $call" unless defined $user; # normal input $self->normal($line); + } elsif ($sort eq 'G') { + $self->enhanced($line); + } elsif ($sort eq 'A' || $sort eq 'O') { + $self->start($line, $sort); } elsif ($sort eq 'Z') { $self->disconnect; } elsif ($sort eq 'D') { ; # ignored (an echo) - } elsif ($sort eq 'G') { - $self->enhanced($line); } else { - dbg atime . " Unknown command letter ($sort) received from $call\n"; + dbg atime . " DXChannel::process_one: Unknown command letter ($sort) received from $call\n"; } } } sub process { - foreach my $dxchan (get_all()) { + foreach my $dxchan (values %channels) { next if $dxchan->{disconnecting}; $dxchan->process_one; }