From: minima Date: Mon, 8 Jan 2007 00:29:40 +0000 (+0000) Subject: make PC19 & 16 generation more efficient on receipt of PC92 X-Git-Tag: 1.54~63 X-Git-Url: http://dxcluster.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=7e4d1632dbe6cb79a43e4954919c6744513fed56;p=spider.git make PC19 & 16 generation more efficient on receipt of PC92 --- diff --git a/perl/DXProtHandle.pm b/perl/DXProtHandle.pm index 59c1351c..9e5d249f 100644 --- a/perl/DXProtHandle.pm +++ b/perl/DXProtHandle.pm @@ -1475,12 +1475,10 @@ sub handle_92 $self->route_pc21($pcall, undef, $r) if $r->isa('Route::Node'); $self->route_pc17($pcall, undef, $parent, $r) if $r->isa('Route::User'); } - foreach my $r (@radd) { - next unless $r; - - $self->route_pc19($pcall, undef, $r) if $r->isa('Route::Node'); - $self->route_pc16($pcall, undef, $parent, $r) if $r->isa('Route::User'); - } + my @pc19 = grep { $_ && $_->isa('Route::Node') } @radd; + my @pc16 = grep { $_ && $_->isa('Route::User') } @radd; + $self->route_pc19($pcall, undef, @pc19) if @pc19; + $self->route_pc16($pcall, undef, $parent, @pc16) if @pc16; } # if get here then rebroadcast the thing with its Hop count decremented (if