X-Git-Url: http://gb7djk.dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXMsg.pm;h=ec798b54661b4dc3cd23056813db7eb9ad2ccb90;hb=50f6466ca2dff82ca470a4abe327d741cffef61a;hp=b4470f66c8f3866485dfb9ebfd816ac16a0294ff;hpb=2b58ccdf81685a1167a43c38705a0d84b9d8d661;p=spider.git diff --git a/perl/DXMsg.pm b/perl/DXMsg.pm index b4470f66..ec798b54 100644 --- a/perl/DXMsg.pm +++ b/perl/DXMsg.pm @@ -389,7 +389,7 @@ sub process if ($_->{from} eq $f[1] && $_->{subject} eq $f[2]) { $_->del_msg(); Log('msg', "Message $_->{msgno} from $_->{from} ($_->{subject}) fully deleted"); - DXProt::broadcast_ak1a($line, $self); + DXChannel::broadcast_nodes($line, $self); } } } @@ -587,7 +587,6 @@ sub send_tranche sub queue_msg { my $sort = shift; - my $call = shift; my $ref; my $clref; @@ -641,23 +640,26 @@ sub queue_msg dbg("Route: No dxchan for $ref->{to} " . ref($clref) ) if isdbg('msg'); } } - } - - # otherwise we are dealing with a bulletin or forwarded private message - # compare the gotit list with - # the nodelist up above, if there are sites that haven't got it yet - # then start sending it - what happens when we get loops is anyone's - # guess, use (to, from, time, subject) tuple? - foreach $dxchan (@nodelist) { - my $call = $dxchan->call; - next unless $call; - next if $call eq $main::mycall; - next if ref $ref->{gotit} && grep $_ eq $call, @{$ref->{gotit}}; - next unless $ref->forward_it($call); # check the forwarding file - - # if we are here we have a node that doesn't have this message - $ref->start_msg($dxchan) if !get_busy($call) && $dxchan->state eq 'normal'; - last; + } else { + + # otherwise we are dealing with a bulletin or forwarded private message + # compare the gotit list with + # the nodelist up above, if there are sites that haven't got it yet + # then start sending it - what happens when we get loops is anyone's + # guess, use (to, from, time, subject) tuple? + foreach $dxchan (@nodelist) { + my $call = $dxchan->call; + next unless $call; + next if $call eq $main::mycall; + next if ref $ref->{gotit} && grep $_ eq $call, @{$ref->{gotit}}; + next unless $ref->forward_it($call); # check the forwarding file + + # if we are here we have a node that doesn't have this message + if (!get_busy($call) && $dxchan->state eq 'normal') { + $ref->start_msg($dxchan); + last; + } + } } # if all the available nodes are busy then stop @@ -1109,7 +1111,7 @@ sub import_msgs my @msg = map { chomp; $_ } ; close(MSG); unlink($fn); - my @out = import_one($DXProt::me, \@msg, $splitit); + my @out = import_one($main::me, \@msg, $splitit); Log('msg', @out); } }