Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Rice Pastry API
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## 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

Field Summary
`static byte` | `CONTACT_DIRECT` Internet Routable (or proper port forwarding)
`static byte` | `CONTACT_FIREWALLED` Not internet routable

Fields inherited from class rice.pastry.socket.SocketNodeHandle
`eaddress`

Fields inherited from class rice.pastry.dist.DistNodeHandle
`nodeId`

Fields inherited from class rice.pastry.NodeHandle
`LIVENESS_ALIVE, LIVENESS_DEAD, LIVENESS_SUSPECTED, localnode, logger`

Fields inherited from class rice.p2p.commonapi.NodeHandle
`DECLARED_DEAD, DECLARED_LIVE, PROXIMITY_CHANGED`

Method Summary
`boolean` | `canContactDirect()`
`byte` | `getContactStatus()`
`boolean` | `isConnected()` return True if isAlive() and canContactDirect() or we already have a direct connection on the third party channel.
`void` | `serialize(OutputBuffer buf)`

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.dist.DistNodeHandle
`getNodeId`

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`

Field Detail

### 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

Method Detail

### 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:

### getContactStatus

    public byte getContactStatus()

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Rice Pastry API
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2001-2005 - Rice Pastry.