Rice Pastry API

rice.pastry.socket.nat.rendezvous
Class RendezvousApp

java.lang.Object
  extended by rice.pastry.client.PastryAppl
      extended by rice.pastry.socket.nat.rendezvous.RendezvousApp

public abstract class RendezvousApp
extends PastryAppl

TODO: make not abstract

Author:
Jeff Hoye

Field Summary
 
Fields inherited from class rice.pastry.client.PastryAppl
address, deserializer, instance, logger, options, receiver, thePastryNode
 
Constructor Summary
RendezvousApp(PastryNode pn)
           
 
Method Summary
 void isNatted(NodeHandle bootstrap, Continuation<java.net.InetSocketAddress,java.lang.Exception> receiveResult)
          Can be called before you boot, will tell you if you are Firewalled.
 void updateLocalRendezvousInfo(RendezvousInfo info)
          This only sets the local node's info, but you could imagine updating this remotely with a push.
 void updateRemoteRendezvousInfo(NodeHandle handle)
          Routes a message to the key: If it is the key, gets the updated info.
 
Methods inherited from class rice.pastry.client.PastryAppl
accept, canReceiveSocket, connect, deliverWhenNotReady, destroy, enrouteMessage, finishReceiveSocket, getAddress, getDeserializer, getLeafSet, getNodeHandle, getNodeId, getRoutingTable, isClosest, leafSetChange, messageForAppl, notifyReady, receiveMessage, receiveMessageInternal, register, routeMsg, routeMsgDirect, routeSetChange, setDeserializer
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RendezvousApp

public RendezvousApp(PastryNode pn)
Method Detail

isNatted

public void isNatted(NodeHandle bootstrap,
                     Continuation<java.net.InetSocketAddress,java.lang.Exception> receiveResult)
Can be called before you boot, will tell you if you are Firewalled. Should send a message to the bootstrap, who forwards it to another node who sends you the request back. Should try UDP/TCP. Returns your external address.

Parameters:
bootstrap -
receiveResult -

updateLocalRendezvousInfo

public void updateLocalRendezvousInfo(RendezvousInfo info)
This only sets the local node's info, but you could imagine updating this remotely with a push.

Parameters:
info -

updateRemoteRendezvousInfo

public void updateRemoteRendezvousInfo(NodeHandle handle)
Routes a message to the key: If it is the key, gets the updated info. Else, sets the rendezvousInfo as faulty and declares the node faulty.

Parameters:
handle -

Rice Pastry API

Copyright © 2001-2005 - Rice Pastry.