rice.pastry.socket.nat.rendezvous
Class RendezvousSocketNodeHandle
java.lang.Object
java.util.Observable
rice.p2p.commonapi.NodeHandle
org.mpisws.p2p.transport.commonapi.TransportLayerNodeHandle<Identifier>
rice.pastry.NodeHandle<Identifier>
rice.pastry.dist.DistNodeHandle<MultiInetSocketAddress>
rice.pastry.socket.SocketNodeHandle
rice.pastry.socket.nat.rendezvous.RendezvousSocketNodeHandle
- All Implemented Interfaces:
- java.io.Serializable, java.util.Observer, RendezvousContact
public class RendezvousSocketNodeHandle
- extends SocketNodeHandle
- implements RendezvousContact
Maintains RendezvousInfo with the NodeHandle
- Author:
- Jeff Hoye
- See Also:
- Serialized Form
Methods inherited from class rice.pastry.socket.SocketNodeHandle |
checkLiveness, equals, getAddress, getEpoch, getIdentifier, getInetSocketAddress, getLiveness, hashCode, isLocal, ping, proximity, receiveMessage, setLocalNode, toString, toStringFull, update |
Methods inherited from class rice.pastry.NodeHandle |
addObserver, addObserver, assertLocalNode, bootstrap, countObservers, deleteObserver, deleteObservers, getId, getLocalNode, isAlive, notifyObservers, update |
Methods inherited from class java.util.Observable |
clearChanged, hasChanged, notifyObservers, setChanged |
Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
CONTACT_DIRECT
public static final byte CONTACT_DIRECT
- Internet Routable (or proper port forwarding)
- See Also:
- Constant Field Values
CONTACT_FIREWALLED
public static final byte CONTACT_FIREWALLED
- Not internet routable
- See Also:
- Constant Field Values
serialize
public void serialize(OutputBuffer buf)
throws java.io.IOException
- Overrides:
serialize
in class SocketNodeHandle
- Throws:
java.io.IOException
canContactDirect
public boolean canContactDirect()
- Specified by:
canContactDirect
in interface RendezvousContact
- Returns:
- true if an internet routable IP; false if NATted and no port forwarding, or other type FireWall.
isConnected
public boolean isConnected()
- Description copied from interface:
RendezvousContact
- return True if isAlive() and canContactDirect() or we already have a direct connection on the third party channel. False otherwise.
Note that this is true if we have a primary socket opened in PriorityTL
- Specified by:
isConnected
in interface RendezvousContact
- Returns:
Copyright © 2001-2005 - Rice Pastry.