Serializable, DataStructureclass NodeInfo extends SimpleDataStructure
| Modifier and Type | Field | Description |
|---|---|---|
static int |
LENGTH |
_data| Constructor | Description |
|---|---|
NodeInfo(byte[] compactInfo,
int offset) |
No Destination yet available
|
NodeInfo(String s) |
Create from persistent storage string.
|
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
|
| Modifier and Type | Method | 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() |
readclone, finalize, getClass, notify, notifyAll, wait, wait, waitfromBase64, fromByteArray, getData, readBytes, setData, toBase64, toByteArray, writeBytespublic static final int LENGTH
public NodeInfo(Destination dest, int port)
public NodeInfo(NID nID, Destination dest, int port)
IllegalArgumentExceptionpublic NodeInfo(NID nID, Hash hash, int port)
IllegalArgumentExceptionpublic NodeInfo(byte[] compactInfo,
int offset)
compactInfo - 20 byte node ID, 32 byte destHash, 2 byte portoffset - starting at this offset in compactInfoIllegalArgumentExceptionArrayIndexOutOfBoundsExceptionpublic NodeInfo(String s) throws DataFormatException
public static NID generateNID(Hash h, int p, RandomSource random)
IllegalArgumentExceptionpublic int length()
SimpleDataStructurelength in class SimpleDataStructurepublic NID getNID()
public Destination getDestination()
public Hash getHash()
public Hash calculateHash()
DataStructurecalculateHash in interface DataStructurecalculateHash in class SimpleDataStructurepublic void setDestination(Destination dest) throws IllegalArgumentException
IllegalArgumentException - if hash of dest doesn't match previous hashpublic int getPort()
public long lastSeen()
public int hashCode()
SimpleDataStructurehashCode in class SimpleDataStructurepublic boolean equals(Object o)
SimpleDataStructureequals in class SimpleDataStructurepublic String toString()
toString in class SimpleDataStructurepublic String toPersistentString()