class NodeInfo extends SimpleDataStructure
Modifier and Type | Field and Description |
---|---|
static int |
LENGTH |
_data
Constructor and Description |
---|
NodeInfo(byte[] compactInfo,
int offset)
No Destination yet available
|
NodeInfo(Destination dest,
int port)
With a fake NID used for pings
|
NodeInfo(NID nID,
Destination dest,
int port)
Use this if we have the full destination
|
NodeInfo(NID nID,
Hash hash,
int port)
No Destination yet available
|
NodeInfo(String s)
Create from persistent storage string.
|
Modifier and Type | Method and Description |
---|---|
Hash |
calculateHash()
Calculate the SHA256 value of this object (useful for a few scenarios)
|
boolean |
equals(Object o)
Warning - this returns true for two different classes with the same size
and same data, e.g.
|
static NID |
generateNID(Hash h,
int p,
RandomSource random)
Generate a secure NID that matches the Hash and port.
|
Destination |
getDestination() |
Hash |
getHash() |
NID |
getNID() |
int |
getPort() |
int |
hashCode()
We assume the data has enough randomness in it, so use the first 4 bytes for speed.
|
long |
lastSeen() |
int |
length()
The legal length of the byte array in this data structure
|
void |
setDestination(Destination dest)
This can come in later but the hash must match.
|
String |
toPersistentString()
To persistent storage string.
|
String |
toString() |
fromBase64, fromByteArray, getData, readBytes, setData, toBase64, toByteArray, writeBytes
read
public static final int LENGTH
public NodeInfo(Destination dest, int port)
public NodeInfo(NID nID, Destination dest, int port)
IllegalArgumentException
public NodeInfo(NID nID, Hash hash, int port)
IllegalArgumentException
public NodeInfo(byte[] compactInfo, int offset)
compactInfo
- 20 byte node ID, 32 byte destHash, 2 byte portoffset
- starting at this offset in compactInfoIllegalArgumentException
ArrayIndexOutOfBoundsException
public NodeInfo(String s) throws DataFormatException
public static NID generateNID(Hash h, int p, RandomSource random)
IllegalArgumentException
public int length()
SimpleDataStructure
length
in class SimpleDataStructure
public NID getNID()
public Destination getDestination()
public Hash getHash()
public Hash calculateHash()
DataStructure
calculateHash
in interface DataStructure
calculateHash
in class SimpleDataStructure
public void setDestination(Destination dest) throws IllegalArgumentException
IllegalArgumentException
- if hash of dest doesn't match previous hashpublic int getPort()
public long lastSeen()
public int hashCode()
SimpleDataStructure
hashCode
in class SimpleDataStructure
public boolean equals(Object o)
SimpleDataStructure
equals
in class SimpleDataStructure
public String toString()
toString
in class SimpleDataStructure
public String toPersistentString()