net.i2p.router.transport

## Class FIFOBandwidthRefiller

- java.lang.Object
- - net.i2p.router.transport.FIFOBandwidthRefiller

All Implemented Interfaces:
  Runnable

    public class FIFOBandwidthRefiller
    extends Object
    implements Runnable

### Field Summary

Fields
`static int` `DEFAULT_BURST_SECONDS`
`static int` `DEFAULT_INBOUND_BANDWIDTH`
`static int` `DEFAULT_INBOUND_BURST_BANDWIDTH`
`static int` `DEFAULT_OUTBOUND_BANDWIDTH` Caution, do not make DEFAULT_OUTBOUND_BANDWIDTH * DEFAULT_SHARE_PCT > 32 without thinking about the implications (default connection limits, for example) of moving the default bandwidth class from L to M, or maybe adjusting bandwidth class boundaries.
`static int` `DEFAULT_OUTBOUND_BURST_BANDWIDTH`
`static int` `MIN_INBOUND_BANDWIDTH` For now, until there is some tuning and safe throttling, we set the floor at 3KBps inbound
`static int` `MIN_INBOUND_BANDWIDTH_PEAK` For now, until there is some tuning and safe throttling, we set the floor at a 3KBps during burst
`static int` `MIN_OUTBOUND_BANDWIDTH` For now, until there is some tuning and safe throttling, we set the floor at 3KBps outbound
`static int` `MIN_OUTBOUND_BANDWIDTH_PEAK` For now, until there is some tuning and safe throttling, we set the floor at a 3KBps during burst
`static String` `PROP_INBOUND_BANDWIDTH`
`static String` `PROP_INBOUND_BANDWIDTH_PEAK`
`static String` `PROP_INBOUND_BURST_BANDWIDTH`
`static String` `PROP_OUTBOUND_BANDWIDTH`
`static String` `PROP_OUTBOUND_BANDWIDTH_PEAK`
`static String` `PROP_OUTBOUND_BURST_BANDWIDTH`

### Constructor Summary

Constructors
Constructor and Description
`FIFOBandwidthRefiller(I2PAppContext context, FIFOBandwidthLimiter limiter)`

### Method Summary

Methods
`(package private) int` `getInboundBurstKBytesPerSecond()`
`(package private) int` `getInboundKBytesPerSecond()`
`(package private) int` `getOutboundBurstKBytesPerSecond()`
`(package private) int` `getOutboundKBytesPerSecond()`
`void` `reinitialize()`
`void` `run()`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### PROP_INBOUND_BANDWIDTH

    public static final String PROP_INBOUND_BANDWIDTH

See Also:
  Constant Field Values

#### PROP_OUTBOUND_BANDWIDTH

    public static final String PROP_OUTBOUND_BANDWIDTH

See Also:
  Constant Field Values

#### PROP_INBOUND_BURST_BANDWIDTH

    public static final String PROP_INBOUND_BURST_BANDWIDTH

See Also:
  Constant Field Values

#### PROP_OUTBOUND_BURST_BANDWIDTH

    public static final String PROP_OUTBOUND_BURST_BANDWIDTH

See Also:
  Constant Field Values

#### PROP_INBOUND_BANDWIDTH_PEAK

    public static final String PROP_INBOUND_BANDWIDTH_PEAK

See Also:
  Constant Field Values

#### PROP_OUTBOUND_BANDWIDTH_PEAK

    public static final String PROP_OUTBOUND_BANDWIDTH_PEAK

See Also:
  Constant Field Values

#### DEFAULT_INBOUND_BANDWIDTH

    public static final int DEFAULT_INBOUND_BANDWIDTH

See Also:
  Constant Field Values

#### DEFAULT_OUTBOUND_BANDWIDTH

    public static final int DEFAULT_OUTBOUND_BANDWIDTH

Caution, do not make DEFAULT_OUTBOUND_BANDWIDTH * DEFAULT_SHARE_PCT > 32 without thinking about the implications (default connection limits, for example) of moving the default bandwidth class from L to M, or maybe adjusting bandwidth class boundaries.

See Also:
  Constant Field Values

#### DEFAULT_INBOUND_BURST_BANDWIDTH

    public static final int DEFAULT_INBOUND_BURST_BANDWIDTH

See Also:
  Constant Field Values

#### DEFAULT_OUTBOUND_BURST_BANDWIDTH

    public static final int DEFAULT_OUTBOUND_BURST_BANDWIDTH

See Also:
  Constant Field Values

#### DEFAULT_BURST_SECONDS

    public static final int DEFAULT_BURST_SECONDS

See Also:
  Constant Field Values

#### MIN_INBOUND_BANDWIDTH

    public static final int MIN_INBOUND_BANDWIDTH

For now, until there is some tuning and safe throttling, we set the floor at 3KBps inbound

See Also:
  Constant Field Values

#### MIN_OUTBOUND_BANDWIDTH

    public static final int MIN_OUTBOUND_BANDWIDTH

For now, until there is some tuning and safe throttling, we set the floor at 3KBps outbound

See Also:
  Constant Field Values

#### MIN_INBOUND_BANDWIDTH_PEAK

    public static final int MIN_INBOUND_BANDWIDTH_PEAK

For now, until there is some tuning and safe throttling, we set the floor at a 3KBps during burst

See Also:
  Constant Field Values

#### MIN_OUTBOUND_BANDWIDTH_PEAK

    public static final int MIN_OUTBOUND_BANDWIDTH_PEAK

For now, until there is some tuning and safe throttling, we set the floor at a 3KBps during burst

See Also:
  Constant Field Values

### Constructor Detail

#### FIFOBandwidthRefiller

    public FIFOBandwidthRefiller(I2PAppContext context,
                         FIFOBandwidthLimiter limiter)

### Method Detail

#### run

    public void run()

Specified by:
  `run` in interface `Runnable`

#### reinitialize

    public void reinitialize()

#### getOutboundKBytesPerSecond

    int getOutboundKBytesPerSecond()

#### getInboundKBytesPerSecond

    int getInboundKBytesPerSecond()

#### getOutboundBurstKBytesPerSecond

    int getOutboundBurstKBytesPerSecond()

#### getInboundBurstKBytesPerSecond

    int getInboundBurstKBytesPerSecond()