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 RendezvousSocketPastryNodeFactory

    java.lang.Object
      rice.pastry.PastryNodeFactory
          rice.pastry.transport.TransportPastryNodeFactory
              rice.pastry.socket.SocketPastryNodeFactory
                  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, getSocketCountListener, 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`

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.