Rice Pastry API

rice.pastry.socket.nat.rendezvous
Class RendezvousSocketPastryNodeFactory

java.lang.Object
  extended by rice.pastry.PastryNodeFactory
      extended by rice.pastry.transport.TransportPastryNodeFactory
          extended by rice.pastry.socket.SocketPastryNodeFactory
              extended by rice.pastry.socket.nat.rendezvous.RendezvousSocketPastryNodeFactory

public class RendezvousSocketPastryNodeFactory
extends SocketPastryNodeFactory

This class assembles the rendezvous layer with the rendezvous app. Need to think about where this best goes, but for now, we'll put it just above the magic number layer.

Author:
Jeff Hoye

Nested Class Summary
 
Nested classes/interfaces inherited from class rice.pastry.socket.SocketPastryNodeFactory
SocketPastryNodeFactory.TransLiveness<Identifier,MessageType>, SocketPastryNodeFactory.TransLivenessProximity<Identifier,MessageType>
 
Field Summary
protected  RandomSource random
           
 
Fields inherited from class rice.pastry.socket.SocketPastryNodeFactory
findFireWallPolicy, localAddress, nidFactory, PASTRY_MAGIC_NUMBER, testFireWallPolicy
 
Fields inherited from class rice.pastry.transport.TransportPastryNodeFactory
leafSetMaintFreq, routeSetMaintFreq
 
Fields inherited from class rice.pastry.PastryNodeFactory
environment, logger, lSetSize, rtBase, rtMax
 
Constructor Summary
RendezvousSocketPastryNodeFactory(NodeIdFactory nf, java.net.InetAddress bindAddress, int startPort, Environment env, NATHandler handler)
           
RendezvousSocketPastryNodeFactory(NodeIdFactory nf, int startPort, Environment env)
           
 
Method Summary
protected  void generatePilotStrategy(TLPastryNode pn, RendezvousTransportLayerImpl<java.net.InetSocketAddress,RendezvousSocketNodeHandle> rendezvousLayer)
           
protected  ContactDeserializer<java.net.InetSocketAddress,RendezvousSocketNodeHandle> getContactDeserializer(TLPastryNode pn)
           
protected  IdentitySerializer<TransportLayerNodeHandle<MultiInetSocketAddress>,MultiInetSocketAddress,SourceRoute<MultiInetSocketAddress>> getIdentiySerializer(TLPastryNode pn, SocketNodeHandleFactory handleFactory)
           
protected  JoinProtocol getJoinProtocol(TLPastryNode pn, LeafSet leafSet, RoutingTable routeTable, java.lang.Object localNodeData, LeafSetProtocol lsProtocol)
           
 NodeHandle getLocalHandle(TLPastryNode pn, NodeHandleFactory nhf, java.lang.Object localNodeInfo)
           
protected  TransportLayer<java.net.InetSocketAddress,java.nio.ByteBuffer> getMagicNumberTransportLayer(TransportLayer<java.net.InetSocketAddress,java.nio.ByteBuffer> wtl, TLPastryNode pn)
           
 NodeHandleFactory getNodeHandleFactory(TLPastryNode pn)
           
protected  PilotFinder<RendezvousSocketNodeHandle> getPilotFinder(TLPastryNode pn)
           
protected  ProximityNeighborSelector getProximityNeighborSelector(TLPastryNode pn)
          Can be overridden.
protected  RendezvousGenerationStrategy<RendezvousSocketNodeHandle> getRendezvousGenerator(TLPastryNode pn)
           
protected  RendezvousStrategy<RendezvousSocketNodeHandle> getRendezvousStrategy(TLPastryNode pn)
           
protected  RendezvousStrategy<RendezvousSocketNodeHandle> getRendezvousStrategyHelper(TLPastryNode pn)
           
protected  TransportLayer<java.net.InetSocketAddress,java.nio.ByteBuffer> getRendezvousTransportLayer(TransportLayer<java.net.InetSocketAddress,java.nio.ByteBuffer> mtl, TLPastryNode pn)
           
protected  ResponseStrategy<java.net.InetSocketAddress> getResponseStrategy(TLPastryNode pn)
           
protected  TransportLayer<java.net.InetSocketAddress,java.nio.ByteBuffer> getWireTransportLayer(java.net.InetSocketAddress innermostAddress, TLPastryNode pn)
          For testing, may return a FirewallTL impl for testing.
protected  void registerApps(TLPastryNode pn, LeafSet leafSet, RoutingTable routeTable, NodeHandleAdapter nha, NodeHandleFactory handleFactory, java.lang.Object localNodeData)
           
 
Methods inherited from class rice.pastry.socket.SocketPastryNodeFactory
cloneEnvironment, cloneLogManager, cloneProcessor, cloneRandomSource, cloneSelectorManager, getBootstrapper, getCommonAPITransportLayer, getIdentityImpl, getLimitSocketsTransportLayer, getLivenessTransportLayer, getLowerIdentityLayer, getMultiAddressSourceRouteFactory, getMultiAddressSourceRouteFactory, getNodeHandle, getNodeHandle, getNodeHandle, getNodeHandle, getNodeHanldeAdapter, getPriorityTransportLayer, getSourceRouteManagerLayer, getSourceRouteTransportLayer, getUpperIdentityLayer, newNode, newNode, newNode, newNode, newNode, newNode, newNode, verifyConnection
 
Methods inherited from class rice.pastry.transport.TransportPastryNodeFactory
getLeafSetProtocol, getRouteSetProtocol, getTLDeserializer, nodeHandleHelper
 
Methods inherited from class rice.pastry.PastryNodeFactory
getEnvironment
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

random

protected RandomSource random
Constructor Detail

RendezvousSocketPastryNodeFactory

public RendezvousSocketPastryNodeFactory(NodeIdFactory nf,
                                         java.net.InetAddress bindAddress,
                                         int startPort,
                                         Environment env,
                                         NATHandler handler)
                                  throws java.io.IOException
Throws:
java.io.IOException

RendezvousSocketPastryNodeFactory

public RendezvousSocketPastryNodeFactory(NodeIdFactory nf,
                                         int startPort,
                                         Environment env)
                                  throws java.io.IOException
Throws:
java.io.IOException
Method Detail

getJoinProtocol

protected JoinProtocol getJoinProtocol(TLPastryNode pn,
                                       LeafSet leafSet,
                                       RoutingTable routeTable,
                                       java.lang.Object localNodeData,
                                       LeafSetProtocol lsProtocol)
Overrides:
getJoinProtocol in class TransportPastryNodeFactory

getMagicNumberTransportLayer

protected TransportLayer<java.net.InetSocketAddress,java.nio.ByteBuffer> getMagicNumberTransportLayer(TransportLayer<java.net.InetSocketAddress,java.nio.ByteBuffer> wtl,
                                                                                                      TLPastryNode pn)
Overrides:
getMagicNumberTransportLayer in class SocketPastryNodeFactory

getIdentiySerializer

protected IdentitySerializer<TransportLayerNodeHandle<MultiInetSocketAddress>,MultiInetSocketAddress,SourceRoute<MultiInetSocketAddress>> getIdentiySerializer(TLPastryNode pn,
                                                                                                                                                               SocketNodeHandleFactory handleFactory)
Overrides:
getIdentiySerializer in class SocketPastryNodeFactory

getRendezvousTransportLayer

protected TransportLayer<java.net.InetSocketAddress,java.nio.ByteBuffer> getRendezvousTransportLayer(TransportLayer<java.net.InetSocketAddress,java.nio.ByteBuffer> mtl,
                                                                                                     TLPastryNode pn)

getResponseStrategy

protected ResponseStrategy<java.net.InetSocketAddress> getResponseStrategy(TLPastryNode pn)

getPilotFinder

protected PilotFinder<RendezvousSocketNodeHandle> getPilotFinder(TLPastryNode pn)

generatePilotStrategy

protected void generatePilotStrategy(TLPastryNode pn,
                                     RendezvousTransportLayerImpl<java.net.InetSocketAddress,RendezvousSocketNodeHandle> rendezvousLayer)

getContactDeserializer

protected ContactDeserializer<java.net.InetSocketAddress,RendezvousSocketNodeHandle> getContactDeserializer(TLPastryNode pn)

getRendezvousGenerator

protected RendezvousGenerationStrategy<RendezvousSocketNodeHandle> getRendezvousGenerator(TLPastryNode pn)

getProximityNeighborSelector

protected ProximityNeighborSelector getProximityNeighborSelector(TLPastryNode pn)
Description copied from class: TransportPastryNodeFactory
Can be overridden.

Overrides:
getProximityNeighborSelector in class TransportPastryNodeFactory
Returns:

getRendezvousStrategyHelper

protected RendezvousStrategy<RendezvousSocketNodeHandle> getRendezvousStrategyHelper(TLPastryNode pn)

getRendezvousStrategy

protected RendezvousStrategy<RendezvousSocketNodeHandle> getRendezvousStrategy(TLPastryNode pn)

registerApps

protected void registerApps(TLPastryNode pn,
                            LeafSet leafSet,
                            RoutingTable routeTable,
                            NodeHandleAdapter nha,
                            NodeHandleFactory handleFactory,
                            java.lang.Object localNodeData)
Overrides:
registerApps in class TransportPastryNodeFactory

getNodeHandleFactory

public NodeHandleFactory getNodeHandleFactory(TLPastryNode pn)
Overrides:
getNodeHandleFactory in class SocketPastryNodeFactory

getLocalHandle

public NodeHandle getLocalHandle(TLPastryNode pn,
                                 NodeHandleFactory nhf,
                                 java.lang.Object localNodeInfo)
Overrides:
getLocalHandle in class SocketPastryNodeFactory

getWireTransportLayer

protected TransportLayer<java.net.InetSocketAddress,java.nio.ByteBuffer> getWireTransportLayer(java.net.InetSocketAddress innermostAddress,
                                                                                               TLPastryNode pn)
                                                                                        throws java.io.IOException
For testing, may return a FirewallTL impl for testing.

Overrides:
getWireTransportLayer in class SocketPastryNodeFactory
Throws:
java.io.IOException

Rice Pastry API

Copyright © 2001-2005 - Rice Pastry.