net.i2p.router.transport.udp
Class PacketPusher

java.lang.Object
  extended by net.i2p.router.transport.udp.PacketPusher
All Implemented Interfaces:
Runnable

 class PacketPusher
extends Object
implements Runnable

Blocking thread to grab new packets off the outbound fragment pool and toss 'em onto the outbound packet queues. Here we select which UDPEndpoint/UDPSender to send it out.


Constructor Summary
PacketPusher(RouterContext ctx, OutboundMessageFragments fragments, List<UDPEndpoint> endpoints)
           
 
Method Summary
 void run()
           
 void send(UDPPacket packet)
          This sends it directly out, bypassing OutboundMessageFragments and the PacketPusher.
 void shutdown()
           
 void startup()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PacketPusher

public PacketPusher(RouterContext ctx,
                    OutboundMessageFragments fragments,
                    List<UDPEndpoint> endpoints)
Method Detail

startup

public void startup()

shutdown

public void shutdown()

run

public void run()
Specified by:
run in interface Runnable

send

public void send(UDPPacket packet)
This sends it directly out, bypassing OutboundMessageFragments and the PacketPusher. The only queueing is for the bandwidth limiter. BLOCKING if OB queue is full.

Parameters:
packet - non-null
Since:
IPv6