X-Git-Url: http://dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=cmd%2Finit.pl;h=2d0a38fc867185f9be2e65267ecdf99e835a3e0f;hb=febdc9bd8f6cd065d217ba089fab4361e9980f35;hp=36309e93ab6408d878c99c7bc58fde10adcc3e18;hpb=118cbdbcf7e06d022a3030670c0e70b05bd8c5b3;p=spider.git diff --git a/cmd/init.pl b/cmd/init.pl index 36309e93..2d0a38fc 100644 --- a/cmd/init.pl +++ b/cmd/init.pl @@ -1,5 +1,5 @@ # -# reinit a cluster connection +# init a cluster connection # # Copyright (c) 1999 Dirk Koopman G1TLH # @@ -17,17 +17,12 @@ foreach $call (@calls) { next if $call eq $main::mycall; my $dxchan = DXChannel->get($call); if ($dxchan) { - if ($dxchan->is_ak1a) { + if ($dxchan->is_node) { # first clear out any nodes on this dxchannel - my @gonenodes = map { $_->dxchan == $dxchan ? $_ : () } DXNode::get_all(); - foreach my $node (@gonenodes) { - next if $node->dxchan == $DXProt::me; - next if $node->dxchan == $dxchan; - DXProt::broadcast_ak1a(DXProt::pc21($node->call, 'Gone, re-init') , $dxchan) unless $dxchan->{isolate}; - $node->del(); - } - $dxchan->send(DXProt::pc38()); + my $node = Route::Node::get($self->{call}); + my @rout = $node->del_nodes if $node; + DXProt::route_pc21($self, @rout); $dxchan->send(DXProt::pc18()); $dxchan->state('init'); push @out, $self->msg('init1', $call);