## net.i2p.router
Class RouterThrottleImpl

    java.lang.Object
      net.i2p.router.RouterThrottleImpl

All Implemented Interfaces:
  RouterThrottle

Direct Known Subclasses:
  RouterDoSThrottle

     class RouterThrottleImpl

extends Object
implements RouterThrottle

Simple throttle that basically stops accepting messages or nontrivial requests if the jobQueue lag is too large.

Field Summary
`static int` `TUNNEL_ACCEPT` tunnel acceptance

Constructor Summary
`RouterThrottleImpl(RouterContext context)`

Method Summary
`boolean` `acceptNetDbLookupRequest(Hash key)` Deprecated. unused, function moved to netdb
`boolean` `acceptNetworkMessage()` Should we accept any more data from the network for any sort of message, taking into account our current load, or should we simply slow down?
`int` `acceptTunnelRequest()` Should we accept the request to participate in the given tunnel, taking into account our current load and bandwidth usage commitments?
`protected RouterContext` `getContext()`
`double` `getInboundRateDelta()` How much faster (or if negative, slower) we are receiving data as opposed to our longer term averages?
`long` `getMessageDelay()` How backed up we are at the moment processing messages (in milliseconds)
`long` `getTunnelLag()` How backed up our tunnels are at the moment (in milliseconds)
`String` `getTunnelStatus()` Message on the state of participating tunnel acceptance
`void` `setTunnelStatus(String msg)`

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

Field Detail

### TUNNEL_ACCEPT

    public static final int TUNNEL_ACCEPT

  tunnel acceptance

  See Also:
    Constant Field Values

Constructor Detail

### RouterThrottleImpl

    public RouterThrottleImpl(RouterContext context)

Method Detail

### acceptNetworkMessage

    public boolean acceptNetworkMessage()

  Description copied from interface: `RouterThrottle`
  Should we accept any more data from the network for any sort of message, taking into account our current load, or should we simply slow down?

  Specified by:
    `acceptNetworkMessage` in interface `RouterThrottle`

### acceptNetDbLookupRequest

    public boolean acceptNetDbLookupRequest(Hash key)

  Deprecated. unused, function moved to netdb

  Description copied from interface: `RouterThrottle`
  Should we accept the netDb lookup message, replying either with the value or some closer peers, or should we simply drop it due to overload?

  Specified by:
    `acceptNetDbLookupRequest` in interface `RouterThrottle`

### acceptTunnelRequest

    public int acceptTunnelRequest()

  Description copied from interface: `RouterThrottle`
  Should we accept the request to participate in the given tunnel, taking into account our current load and bandwidth usage commitments?

  Specified by:
    `acceptTunnelRequest` in interface `RouterThrottle`
  Returns:
    0 if it should be accepted, higher values for more severe rejection

### getMessageDelay

    public long getMessageDelay()

  Description copied from interface: `RouterThrottle`
  How backed up we are at the moment processing messages (in milliseconds)

  Specified by:
    `getMessageDelay` in interface `RouterThrottle`

### getTunnelLag

    public long getTunnelLag()

  Description copied from interface: `RouterThrottle`
  How backed up our tunnels are at the moment (in milliseconds)

  Specified by:
    `getTunnelLag` in interface `RouterThrottle`

### getInboundRateDelta

    public double getInboundRateDelta()

  Description copied from interface: `RouterThrottle`
  How much faster (or if negative, slower) we are receiving data as opposed to our longer term averages?

  Specified by:
    `getInboundRateDelta` in interface `RouterThrottle`

### getTunnelStatus

    public String getTunnelStatus()

  Description copied from interface: `RouterThrottle`
  Message on the state of participating tunnel acceptance

  Specified by:
    `getTunnelStatus` in interface `RouterThrottle`

### setTunnelStatus

    public void setTunnelStatus(String msg)

  Specified by:
    `setTunnelStatus` in interface `RouterThrottle`

### getContext

    protected RouterContext getContext()