changed order of nodes going out for AK1A's benefit
authordjk <djk>
Fri, 30 Apr 1999 16:19:37 +0000 (16:19 +0000)
committerdjk <djk>
Fri, 30 Apr 1999 16:19:37 +0000 (16:19 +0000)
Changes
filter/spots/K1XX.pl.issue
perl/DXProt.pm
perl/cluster.pl

diff --git a/Changes b/Changes
index 38d12170b96f4019c1a992e61307e5c900eecf1a..874245f64c6bb49794ec3372bfce6210b4a77a88 100644 (file)
--- a/Changes
+++ b/Changes
@@ -1,3 +1,6 @@
+30Apr99=======================================================================
+1. Try to make it even more AK1A friendly by putting the node list out in the
+'correct' order.
 26Apr99=======================================================================
 1. added set/user command as a hack, please use this with care, there is
 very little checking.
index cbcdd57367c8a8924c01a8e6e98ad7d8bafaf42b..1e7feaa04c70c0d51a5c7abd6358d5c9140ecd79 100644 (file)
@@ -42,6 +42,6 @@
 
 $in = [
           [ 1, 5, 'n', [ 226 ], 15 ],         # dxcc country 226 is the US
-          [ 1, 6, 'a', [ 226 ], 15 ],
+          [ 1, 6, 'n', [ 226 ], 15 ],
        [ 0, 0, 'd' ],                  # default action (don't forward)
 ];
index a6982f1f2bf53a47025e22200556f58c7ba39522..fbc63bc09ed2df2a5c2304ecf627ca86a0851be7 100644 (file)
@@ -717,27 +717,32 @@ sub send_local_config
        my $self = shift;
        my $n;
        my @nodes;
-       
+       my @localnodes;
+       my @remotenodes;
+               
        # send our nodes
        if ($self->{isolate}) {
-               @nodes = (DXCluster->get_exact($main::mycall));
+               @localnodes = (DXCluster->get_exact($main::mycall));
        } else {
                # create a list of all the nodes that are not connected to this connection
                # and are not themselves isolated, this to make sure that isolated nodes
         # don't appear outside of this node
-               @nodes = DXNode::get_all(); 
+               @nodes = DXNode::get_all();
                @nodes = grep { $_->dxchan != $self } @nodes;
-               @nodes = grep { !($_->dxchan && $_->dxchan->isolate) } @nodes;
+               @nodes = grep { $_->{call} ne $main::mycall } @nodes;
+               @localnodes = grep { $_->dxchan->{call} eq $_->{call} && !$_->dxchan->{isolate} } @nodes if @nodes;
+               unshift @localnodes, DXCluster->get_exact($main::mycall);
+               @remotenodes = grep { $_->dxchan->{call} ne $_->{call} } @nodes if @nodes;
        }
 
-       my @s = $me->pc19(@nodes);
+       my @s = $me->pc19(@localnodes, @remotenodes);
        for (@s) {
                my $routeit = adjust_hops($self, $_);
                $self->send($routeit) if $routeit;
        }
        
        # get all the users connected on the above nodes and send them out
-       foreach $n (@nodes) {
+       foreach $n (@localnodes, @remotenodes) {
                my @users = values %{$n->list};
                my @s = pc16($n, @users);
                for (@s) {
index 4a4400a15f45c90fae90a76d36cd0fd515905efa..88131b21a6931b08583b7cf0df5e760c5d4024ee 100755 (executable)
@@ -67,7 +67,7 @@ package main;
 
 @inqueue = ();                                 # the main input queue, an array of hashes
 $systime = 0;                                  # the time now (in seconds)
-$version = "1.25";                             # the version no of the software
+$version = "1.26";                             # the version no of the software
 $starttime = 0;                 # the starting time of the cluster   
 $lockfn = "cluster.lock";       # lock file name