|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectnet.i2p.data.DataStructureImpl
net.i2p.data.router.RouterAddress
public class RouterAddress
Defines a method of communicating with a router For efficiency, the options methods and structures here are unsynchronized. Initialize the structure with readBytes(), or call the setOptions(). Don't change it after that. To ensure integrity of the RouterInfo, methods that change an element of the RouterInfo will throw an IllegalStateException after the RouterInfo is signed. As of 0.9.3, expiration MUST be all zeros as it is ignored on readin and the signature will fail. If we implement expiration, or other use for the field, we must allow several releases for the change to propagate as it is backwards-incompatible. Restored as of 0.9.12.
Field Summary | |
---|---|
static String |
PROP_HOST
|
static String |
PROP_PORT
|
Constructor Summary | |
---|---|
RouterAddress()
|
|
RouterAddress(String style,
OrderedProperties options,
int cost)
For efficiency when created by a Transport. |
Method Summary | |
---|---|
boolean |
deepEquals(RouterAddress addr)
Everything, including Transport, host, port, options, and cost |
boolean |
equals(Object object)
Transport, host, and port only. |
int |
getCost()
Retrieve the weighted cost of this address, relative to other methods of contacting this router. |
Date |
getExpiration()
Deprecated. unused for now |
long |
getExpirationTime()
Deprecated. unused for now |
String |
getHost()
Convenience, same as getOption("host"). |
byte[] |
getIP()
Caching version of InetAddress.getByName(getOption("host")).getAddress(), which is slow. |
String |
getOption(String opt)
|
Properties |
getOptions()
Deprecated. use getOptionsMap() |
Map<Object,Object> |
getOptionsMap()
Retrieve the transport specific options necessary for communication |
int |
getPort()
Caching version of Integer.parseInt(getOption("port")) Caches valid ports 1-65535 only. |
String |
getTransportStyle()
Retrieve the type of transport that must be used to communicate on this address. |
int |
hashCode()
Just use a few items for speed (expiration is always null). |
void |
readBytes(InputStream in)
As of 0.9.3, expiration MUST be all zeros as it is ignored on readin and the signature will fail. |
void |
setCost(int cost)
Configure the weighted cost of using the address. |
void |
setExpiration(Date expiration)
Deprecated. unused for now |
void |
setOptions(Properties options)
Deprecated. unused, use 3-arg constructor |
void |
setTransportStyle(String transportStyle)
Deprecated. unused, use 3-arg constructor |
String |
toString()
This is used on peers.jsp so sort options so it looks better. |
void |
writeBytes(OutputStream out)
As of 0.9.3, expiration MUST be all zeros as it is ignored on readin and the signature will fail. |
Methods inherited from class net.i2p.data.DataStructureImpl |
---|
calculateHash, fromBase64, fromByteArray, read, toBase64, toByteArray |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final String PROP_HOST
public static final String PROP_PORT
Constructor Detail |
---|
public RouterAddress()
public RouterAddress(String style, OrderedProperties options, int cost)
options
- not copied; do not reuse or modifycost
- 0-255Method Detail |
---|
public int getCost()
public void setCost(int cost)
public Date getExpiration()
public long getExpirationTime()
public void setExpiration(Date expiration)
public String getTransportStyle()
public void setTransportStyle(String transportStyle)
IllegalStateException
- if was already setpublic Properties getOptions()
public Map<Object,Object> getOptionsMap()
public String getOption(String opt)
public void setOptions(Properties options)
options
- non-null
IllegalStateException
- if was already setpublic byte[] getIP()
public String getHost()
public int getPort()
public void readBytes(InputStream in) throws DataFormatException, IOException
in
- stream to read from
IllegalStateException
- if was already read in
DataFormatException
- if the data is improperly formatted
IOException
- if there was a problem reading the streampublic void writeBytes(OutputStream out) throws DataFormatException, IOException
out
- stream to write to
DataFormatException
- if the data was incomplete or not yet ready to be written
IOException
- if there was a problem writing to the streampublic boolean equals(Object object)
equals
in class Object
public boolean deepEquals(RouterAddress addr)
addr
- may be nullpublic int hashCode()
hashCode
in class Object
public String toString()
toString
in class Object
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |