## net.i2p.data.i2cp
Class BandwidthLimitsMessage

    java.lang.Object
      net.i2p.data.DataStructureImpl
          net.i2p.data.i2cp.I2CPMessageImpl
              net.i2p.data.i2cp.BandwidthLimitsMessage

All Implemented Interfaces:
  DataStructure, I2CPMessage

    public class BandwidthLimitsMessage

extends I2CPMessageImpl

Tell the other side the limits

Author:
  zzz

Field Summary
`static int` `MESSAGE_TYPE`

Constructor Summary
`BandwidthLimitsMessage()`
`BandwidthLimitsMessage(int in, int out)` Let's define it this way.

Method Summary
`protected void` `doReadMessage(InputStream in, int size)` Read in the payload part of the message (after the initial 4 byte size and 1 byte type)
`protected byte[]` `doWriteMessage()` Write out the payload part of the message (not including the 4 byte size and 1 byte type)
`boolean` `equals(Object object)`
`int[]` `getLimits()`
`int` `getType()` Return the unique identifier for this type of APIMessage, as specified in the network specification document under #ClientAccessLayerMessages
`String` `toString()`

Methods inherited from class net.i2p.data.i2cp.I2CPMessageImpl
`readBytes, readMessage, readMessage, writeBytes, writeMessage`

Methods inherited from class net.i2p.data.DataStructureImpl
`calculateHash, fromBase64, fromByteArray, read, toBase64, toByteArray`

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

Methods inherited from interface net.i2p.data.DataStructure
`calculateHash, fromBase64, fromByteArray, toBase64, toByteArray`

Field Detail

### MESSAGE_TYPE

    public static final int MESSAGE_TYPE

See Also:
  Constant Field Values

Constructor Detail

### BandwidthLimitsMessage

    public BandwidthLimitsMessage()

### BandwidthLimitsMessage

    public BandwidthLimitsMessage(int in,
                                  int out)

  Let's define it this way. Leave some extra. This is only local and rarely sent so we don't care about waste. 0) Client inbound limit (KBps) 1) Client outbound limit (KBps) 2) Router inbound limit (KBps) 3) Router inbound burst limit (KBps) 4) Router outbound limit (KBps) 5) Router outbound burst limit (KBps) 6) Router burst time (seconds) 7-15) undefined

Method Detail

### getLimits

    public int[] getLimits()

### doReadMessage

    protected void doReadMessage(InputStream in,
                                 int size)
                          throws I2CPMessageException,
                                 IOException

  Description copied from class: `I2CPMessageImpl`
  Read in the payload part of the message (after the initial 4 byte size and 1 byte type)

  Specified by:
    `doReadMessage` in class `I2CPMessageImpl`
  Parameters:
    `in` - InputStream
    `size` - payload size
  Throws:
    `I2CPMessageException`
    `IOException`

### doWriteMessage

    protected byte[] doWriteMessage()
                             throws I2CPMessageException,
                                    IOException

  Description copied from class: `I2CPMessageImpl`
  Write out the payload part of the message (not including the 4 byte size and 1 byte type)

  Specified by:
    `doWriteMessage` in class `I2CPMessageImpl`
  Returns:
    byte array
  Throws:
    `I2CPMessageException`
    `IOException`

### getType

    public int getType()

  Description copied from interface: `I2CPMessage`
  Return the unique identifier for this type of APIMessage, as specified in the network specification document under #ClientAccessLayerMessages

  Returns:
    unique identifier for this type of APIMessage

### equals

    public boolean equals(Object object)

  Overrides:
    `equals` in class `Object`

### toString

    public String toString()

  Overrides:
    `toString` in class `Object`