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 long
MAX_ID_VALUE
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method 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
-
-
-
-
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:DataStructure
Load 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: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 writtenIOException
- if there was a problem writing to the stream
-
toByteArray
public byte[] toByteArray()
Overridden for efficiency.- Specified by:
toByteArray
in interfaceDataStructure
- Overrides:
toByteArray
in classDataStructureImpl
- Returns:
- may be null if data is not set
-
fromByteArray
public void fromByteArray(byte[] data) throws DataFormatException
Overridden for efficiency.- Specified by:
fromByteArray
in interfaceDataStructure
- Overrides:
fromByteArray
in classDataStructureImpl
- Parameters:
data
- non-null- Throws:
DataFormatException
- if null or wrong length
-
-