## net.i2p.router.transport.udp
Class ACKSender

    java.lang.Object
      net.i2p.router.transport.udp.ACKSender

All Implemented Interfaces:
  Runnable

     class ACKSender

extends Object
implements Runnable

Blocking thread that is given peers by the inboundFragment pool, sending out any outstanding ACKs.

Field Summary
`(package private) static int` `ACK_FREQUENCY` how frequently do we want to send ACKs to a peer?

Constructor Summary
`ACKSender(RouterContext ctx, UDPTransport transport)`

Method Summary
`void` `ackPeer(PeerState peer)` Add to the queue.
`void` `run()`
`void` `shutdown()`
`void` `startup()`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### ACK_FREQUENCY

    static final int ACK_FREQUENCY

  how frequently do we want to send ACKs to a peer?

  See Also:
    Constant Field Values

Constructor Detail

### ACKSender

    public ACKSender(RouterContext ctx,
                     UDPTransport transport)

Method Detail

### ackPeer

    public void ackPeer(PeerState peer)

  Add to the queue. For speed, don't check for duplicates here. The runner will remove them in its own thread.

### startup

    public void startup()

### shutdown

    public void shutdown()

### run

    public void run()

  Specified by:
    `run` in interface `Runnable`