Just as an experiment I hacked at the sl_prioritized sub directly like
so....

sub sl_prioritized {
 my ($kernel, $heap, $priority, $msg) = @_[KERNEL, HEAP, ARG0, ARG1]; my
 $now = time();
 #$heap->{send_time} = $now if $heap->{send_time} < $now;
                                                                                       
                                                                      
 if (@{$heap->{send_queue}}) {
   my $i = @{$heap->{send_queue}};
   $i-- while ($i and $priority <
   $heap->{send_queue}->[$i-1]->[MSG_PRI]); splice(
   @{$heap->{send_queue}}, $i, 0,
           [ $priority,  # MSG_PRI
             $msg,       # MSG_TEXT
           ]
         );
 #} elsif ( $heap->{dont_flood} and
 #          $heap->{send_time} - $now >= 10 or not defined
# $heap->{socket} #        ) {
 #  push( @{$heap->{send_queue}},
 #        [ $priority,  # MSG_PRI
 #          $msg,       # MSG_TEXT
#      ]
#    );
#    $kernel->delay( sl_delayed => $heap->{send_time} - $now - 10 );
 } else {
   warn ">>> $msg\n" if $heap->{debug};
   #$heap->{send_time} += 2 + length($msg) / 120;
   $heap->{socket}->put($msg);
  }
}


The results were the same as before 20secs for 14 short lines. :) hmmm I
suspect that another layer of "throttling" is taking place in
POE::Wheel::ReadWrite ? On the other hand I could just be dense...

Mike Tremaine
[EMAIL PROTECTED]

Reply via email to