net.i2p.data

## Class TunnelId

- java.lang.Object
- - net.i2p.data.DataStructureImpl
  - - net.i2p.data.TunnelId

- All Implemented Interfaces:
    DataStructure

      public class TunnelId
      extends DataStructureImpl

  Defines the tunnel ID that messages are passed through on a set of routers. This is not globally unique, but must be unique on each router making up the tunnel (otherwise they would get confused and send messages down the wrong one).
  Author:
    jrandom

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static long` | `MAX_ID_VALUE`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `TunnelId()`
    `TunnelId(long id)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `equals(Object obj)`
    `void` | `fromByteArray(byte[] data)` Overridden for efficiency.
    `long` | `getTunnelId()`
    `int` | `hashCode()`
    `void` | `readBytes(InputStream in)` Load up the current object with data from the given stream.
    `void` | `setTunnelId(long id)`
    `byte[]` | `toByteArray()` Overridden for efficiency.
    `String` | `toString()`
    `void` | `writeBytes(OutputStream out)` Write out the data structure to the stream, using the format defined in the I2P data structure specification.

    - ### Methods inherited from class net.i2p.data.DataStructureImpl

      `calculateHash, fromBase64, read, toBase64`

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

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### MAX_ID_VALUE

          public static final long MAX_ID_VALUE

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### TunnelId

          public TunnelId()

    - #### TunnelId

          public TunnelId(long id)

  - ### Method Detail

    - #### getTunnelId

          public long getTunnelId()

    - #### setTunnelId

          public void setTunnelId(long id)

    - #### readBytes

          public void readBytes(InputStream in)
                         throws DataFormatException,
                                IOException

      Description copied from interface: `DataStructure`
      Load up the current object with data from the given stream. Data loaded this way must match the I2P data structure specification.
      Parameters:
        `in` - stream to read from
      Throws:
        `DataFormatException` - if the data is improperly formatted
        `IOException` - if there was a problem reading the stream

    - #### writeBytes

          public void writeBytes(OutputStream out)
                          throws DataFormatException,
                                 IOException

      Description copied from interface: `DataStructure`
      Write out the data structure to the stream, using the format defined in the I2P data structure specification.
      Parameters:
        `out` - stream to write to
      Throws:
        `DataFormatException` - if the data was incomplete or not yet ready to be written
        `IOException` - if there was a problem writing to the stream

    - #### toByteArray

          public byte[] toByteArray()

      Overridden for efficiency.
      Specified by:
        `toByteArray` in interface `DataStructure`
      Overrides:
        `toByteArray` in class `DataStructureImpl`

    - #### fromByteArray

          public void fromByteArray(byte[] data)
                             throws DataFormatException

      Overridden for efficiency.
      Specified by:
        `fromByteArray` in interface `DataStructure`
      Overrides:
        `fromByteArray` in class `DataStructureImpl`
      Parameters:
        `data` - non-null
      Throws:
        `DataFormatException` - if null or wrong length

    - #### equals

          public boolean equals(Object obj)

      Overrides:
        `equals` in class `Object`

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `Object`

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`