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
    Modifier and Type | Field and Description
    --- | ---
    `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
    Modifier and Type | Method and Description
    --- | ---
    `(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()