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, 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)
           
 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  RendezvousGenerationStrategy<RendezvousSocketNodeHandle> getRendezvousGenerator(TLPastryNode pn)
           
protected  RendezvousStrategy<RendezvousSocketNodeHandle> getRendezvousStrategy(TLPastryNode pn)
           
protected  TransportLayer<java.net.InetSocketAddress,java.nio.ByteBuffer> getRendezvousTransportLayer(TransportLayer<java.net.InetSocketAddress,java.nio.ByteBuffer> mtl, 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, Environment environment)
           
 
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
getProximityNeighborSelector, 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

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)

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)

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,
                            Environment environment)
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.