2 # reinit a cluster connection
4 # Copyright (c) 1999 Dirk Koopman G1TLH
8 my ($self, $line) = @_;
9 my @calls = split /\s+/, $line;
13 return (1, $self->msg('e5')) if $self->priv < 5;
15 foreach $call (@calls) {
17 next if $call eq $main::mycall;
18 my $dxchan = DXChannel->get($call);
20 if ($dxchan->is_ak1a) {
22 # first clear out any nodes on this dxchannel
23 my @gonenodes = map { $_->dxchan == $dxchan ? $_ : () } DXNode::get_all();
24 foreach my $node (@gonenodes) {
25 next if $node->dxchan == $DXProt::me;
26 next if $node->dxchan == $dxchan;
27 DXProt::broadcast_ak1a(DXProt::pc21($node->call, 'Gone, re-init') , $dxchan) unless $dxchan->{isolate};
30 $dxchan->send(DXProt::pc38());
31 $dxchan->send(DXProt::pc18());
32 $dxchan->state('init');
33 push @out, $self->msg('init1', $call);
36 push @out, $self->msg('e10', $call);