public class AddressResolver extends java.lang.Object implements TimerListener
Class AddressResolver can be used to maintain a reference to the actual address to be used to reach a remote node, against to the address optained in other ways. For example, it can be used to maintain correct remote address mapping for symmetric NAT traversal.
Constructor and Description |
---|
AddressResolver(long refresh_time,
Logger logger)
Costructs an empty AddressResolve.r
|
Modifier and Type | Method and Description |
---|---|
boolean |
contains(SocketAddress refer_soaddr)
Whether there is a mapping for the selected SocketAddress
|
java.util.Enumeration |
getAllSocketAddresses()
Gets list of all reference SocketAddresses
|
SocketAddress |
getSocketAddress(SocketAddress refer_soaddr)
Gets the actual SocketAddress for the selected SocketAddress
|
protected void |
log(LogLevel level,
java.lang.String str)
Adds a new string to the default Log
|
void |
onTimeout(Timer t)
When the refresh timeout fires
|
void |
removeBinding(SocketAddress refer_soaddr)
Removes a SocketAddress mapping
|
int |
size()
Gets the size of the resolver's db
|
void |
updateBinding(SocketAddress refer_soaddr,
SocketAddress actual_soaddr)
Adds or updates a new SocketAddress mapping
|
public AddressResolver(long refresh_time, Logger logger)
public int size()
public java.util.Enumeration getAllSocketAddresses()
public boolean contains(SocketAddress refer_soaddr)
public void updateBinding(SocketAddress refer_soaddr, SocketAddress actual_soaddr)
public void removeBinding(SocketAddress refer_soaddr)
public SocketAddress getSocketAddress(SocketAddress refer_soaddr)
public void onTimeout(Timer t)
onTimeout
in interface TimerListener
t
- the timerprotected void log(LogLevel level, java.lang.String str)