Package net.i2p.data
Class TunnelId
- java.lang.Object
-
- net.i2p.data.DataStructureImpl
-
- net.i2p.data.TunnelId
-
- All Implemented Interfaces:
Serializable,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). Note that a TunnelId must be greater than zero, as the DatabaseStoreMessage uses a zero ID to request a direct reply.- Author:
- jrandom
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static longMAX_ID_VALUE
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(Object obj)voidfromByteArray(byte[] data)Overridden for efficiency.longgetTunnelId()inthashCode()voidreadBytes(InputStream in)Load up the current object with data from the given stream.voidsetTunnelId(long id)byte[]toByteArray()Overridden for efficiency.StringtoString()voidwriteBytes(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
-
-
-
-
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)
- Parameters:
id- 1 to 0xffffffff- Throws:
IllegalArgumentException- if less than or equal to zero or greater than max value
-
-
Method Detail
-
getTunnelId
public long getTunnelId()
-
setTunnelId
public void setTunnelId(long id)
- Parameters:
id- 1 to 0xffffffff- Throws:
IllegalArgumentException- if less than or equal to zero or greater than max value
-
readBytes
public void readBytes(InputStream in) throws DataFormatException, IOException
Description copied from interface:DataStructureLoad up the current object with data from the given stream. Data loaded this way must match the I2P data structure specification. Warning - many classes will throw IllegalStateException if data is already set.- Parameters:
in- stream to read from- Throws:
DataFormatException- if the data is improperly formattedIOException- if there was a problem reading the stream
-
writeBytes
public void writeBytes(OutputStream out) throws DataFormatException, IOException
Description copied from interface:DataStructureWrite 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 writtenIOException- if there was a problem writing to the stream
-
toByteArray
public byte[] toByteArray()
Overridden for efficiency.- Specified by:
toByteArrayin interfaceDataStructure- Overrides:
toByteArrayin classDataStructureImpl- Returns:
- may be null if data is not set
-
fromByteArray
public void fromByteArray(byte[] data) throws DataFormatExceptionOverridden for efficiency.- Specified by:
fromByteArrayin interfaceDataStructure- Overrides:
fromByteArrayin classDataStructureImpl- Parameters:
data- non-null- Throws:
DataFormatException- if null or wrong length
-
-