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
Class SocketPastryNodeFactory

    java.lang.Object
      rice.pastry.PastryNodeFactory
          rice.pastry.transport.TransportPastryNodeFactory
              rice.pastry.socket.SocketPastryNodeFactory

Direct Known Subclasses:
  AppSocketPastryNodeFactory, RendezvousSocketPastryNodeFactory

    public class SocketPastryNodeFactory

extends TransportPastryNodeFactory

Pastry node factory for Socket-linked nodes.

Version:
  $Id: SocketPastryNodeFactory.java,v 1.6 2004/03/08 19:53:57 amislove Exp $
Author:
  Alan Mislove

Nested Class Summary
`class` | `SocketPastryNodeFactory.TLBootstrapper`
`protected static interface` | `SocketPastryNodeFactory.TransLiveness<Identifier,MessageType>`
`protected static interface` | `SocketPastryNodeFactory.TransLivenessProximity<Identifier,MessageType>`

Field Summary
`protected int` | `findFireWallPolicy`
`static java.lang.String` | `IP_SERVICE` Maps to a InetSocketAddressLookup
`protected java.net.InetAddress` | `localAddress`
`static java.lang.String` | `MULTI_ADDRESS_STRATEGY`
`static java.lang.String` | `MULTI_INET_TL` Maps to MultiInetAddressTransportLayer
`protected NodeIdFactory` | `nidFactory`
`static byte[]` | `PASTRY_MAGIC_NUMBER`
`static java.lang.String` | `PRIORITY_TL` maps to a PriorityTransportLayer
`static java.lang.String` | `PROXY_ADDRESS` Maps to a MultiInetSocketAddress
`protected int` | `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
`SocketPastryNodeFactory(NodeIdFactory nf, java.net.InetAddress bindAddress, int startPort, Environment env)`
`SocketPastryNodeFactory(NodeIdFactory nf, int startPort, Environment env)`

Method Summary
`protected Environment` | `cloneEnvironment(Environment rootEnvironment, Id nodeId)`
`protected LogManager` | `cloneLogManager(Environment rootEnvironment, Id nodeId)`
`protected Processor` | `cloneProcessor(Environment rootEnvironment, Id nodeId, LogManager lman)`
`protected RandomSource` | `cloneRandomSource(Environment rootEnvironment, Id nodeId, LogManager lman)`
`protected SelectorManager` | `cloneSelectorManager(Environment rootEnvironment, Id nodeId, LogManager lman)`
`java.net.InetAddress` | `getBindAddress()`
`protected Bootstrapper` | `getBootstrapper(PastryNode pn, NodeHandleAdapter tl, NodeHandleFactory handleFactory, ProximityNeighborSelector pns)`
`TransportLayer<java.net.InetSocketAddress,java.nio.ByteBuffer>` | `getBottomLayers(PastryNode pn, MultiInetSocketAddress proxyAddress)` This is split off so we can get the IpServiceLayer easily.
`protected TransportLayer<TransportLayerNodeHandle<MultiInetSocketAddress>,RawMessage>` | `getCommonAPITransportLayer(TransportLayer<TransportLayerNodeHandle<MultiInetSocketAddress>,java.nio.ByteBuffer> upperIdentity, PastryNode pn, TLDeserializer deserializer)`
`protected IdentityImpl<TransportLayerNodeHandle<MultiInetSocketAddress>,MultiInetSocketAddress,java.nio.ByteBuffer,SourceRoute<MultiInetSocketAddress>>` | `getIdentityImpl(PastryNode pn, SocketNodeHandleFactory handleFactory)`
`protected IdentitySerializer<TransportLayerNodeHandle<MultiInetSocketAddress>,MultiInetSocketAddress,SourceRoute<MultiInetSocketAddress>>` | `getIdentiySerializer(PastryNode pn, SocketNodeHandleFactory handleFactory)`
`protected TransportLayer<java.net.InetSocketAddress,java.nio.ByteBuffer>` | `getIpServiceTransportLayer(TransportLayer<java.net.InetSocketAddress,java.nio.ByteBuffer> wtl, PastryNode pn)`
`protected TransportLayer<java.net.InetSocketAddress,java.nio.ByteBuffer>` | `getLimitSocketsTransportLayer(TransportLayer<java.net.InetSocketAddress,java.nio.ByteBuffer> mntl, PastryNode pn)`
`protected SocketPastryNodeFactory.TransLiveness<SourceRoute<MultiInetSocketAddress>,java.nio.ByteBuffer>` | `getLivenessTransportLayer(TransportLayer<SourceRoute<MultiInetSocketAddress>,java.nio.ByteBuffer> tl, PastryNode pn)`
`NodeHandle` | `getLocalHandle(PastryNode pn, NodeHandleFactory nhf)`
`protected TransportLayer<SourceRoute<MultiInetSocketAddress>,java.nio.ByteBuffer>` | `getLowerIdentityLayer(TransportLayer<SourceRoute<MultiInetSocketAddress>,java.nio.ByteBuffer> srl, PastryNode pn, IdentityImpl<TransportLayerNodeHandle<MultiInetSocketAddress>,MultiInetSocketAddress,java.nio.ByteBuffer,SourceRoute<MultiInetSocketAddress>> identity)`
`protected TransportLayer<java.net.InetSocketAddress,java.nio.ByteBuffer>` | `getMagicNumberTransportLayer(TransportLayer<java.net.InetSocketAddress,java.nio.ByteBuffer> wtl, PastryNode pn)`
`protected MultiAddressSourceRouteFactory` | `getMultiAddressSourceRouteFactory(PastryNode pn)`
`protected TransportLayer<MultiInetSocketAddress,java.nio.ByteBuffer>` | `getMultiAddressSourceRouteTransportLayer(TransportLayer<java.net.InetSocketAddress,java.nio.ByteBuffer> mntl, PastryNode pn, MultiInetSocketAddress localAddress)`
`protected NextHopStrategy<MultiInetSocketAddress>` | `getNextHopStrategy(TransportLayer<SourceRoute<MultiInetSocketAddress>,java.nio.ByteBuffer> ltl, LivenessProvider<SourceRoute<MultiInetSocketAddress>> livenessProvider, Pinger<SourceRoute<MultiInetSocketAddress>> pinger, PastryNode pn, MultiInetSocketAddress proxyAddress, MultiAddressSourceRouteFactory esrFactory)`
`java.net.InetSocketAddress` | `getNextInetSocketAddress()`
`NodeHandle` | `getNodeHandle(java.net.InetSocketAddress bootstrap)`
`void` | `getNodeHandle(java.net.InetSocketAddress[] bootstraps, Continuation c)`
`NodeHandle` | `getNodeHandle(java.net.InetSocketAddress[] bootstraps, int int1)`
`NodeHandle` | `getNodeHandle(java.net.InetSocketAddress bootstrap, int i)`
`NodeHandleAdapter` | `getNodeHandleAdapter(PastryNode pn, NodeHandleFactory handleFactory2, TLDeserializer deserializer)`
`NodeHandleFactory` | `getNodeHandleFactory(PastryNode pn)`
`protected PriorityTransportLayer<MultiInetSocketAddress>` | `getPriorityTransportLayer(TransportLayer<MultiInetSocketAddress,java.nio.ByteBuffer> trans, LivenessProvider<MultiInetSocketAddress> liveness, ProximityProvider<MultiInetSocketAddress> prox, PastryNode pn)`
`protected ProbeStrategy` | `getProbeStrategy(PastryNode pn)`
`protected SocketCountListener<java.net.InetSocketAddress>` | `getSocketCountListener(PastryNode pn)`
`protected SourceRouteForwardStrategy<MultiInetSocketAddress>` | `getSourceRouteForwardStrategy(PastryNode pn, MultiAddressSourceRouteFactory esrFactory)`
`protected SocketPastryNodeFactory.TransLivenessProximity<MultiInetSocketAddress,java.nio.ByteBuffer>` | `getSourceRouteManagerLayer(TransportLayer<SourceRoute<MultiInetSocketAddress>,java.nio.ByteBuffer> ltl, LivenessProvider<SourceRoute<MultiInetSocketAddress>> livenessProvider, Pinger<SourceRoute<MultiInetSocketAddress>> pinger, PastryNode pn, MultiInetSocketAddress proxyAddress, MultiAddressSourceRouteFactory esrFactory)`
`protected SourceRouteStrategy<MultiInetSocketAddress>` | `getSourceRouteStrategy(TransportLayer<SourceRoute<MultiInetSocketAddress>,java.nio.ByteBuffer> ltl, LivenessProvider<SourceRoute<MultiInetSocketAddress>> livenessProvider, Pinger<SourceRoute<MultiInetSocketAddress>> pinger, PastryNode pn, MultiInetSocketAddress proxyAddress, MultiAddressSourceRouteFactory esrFactory)`
`protected TransportLayer<SourceRoute<MultiInetSocketAddress>,java.nio.ByteBuffer>` | `getSourceRouteTransportLayer(TransportLayer<MultiInetSocketAddress,java.nio.ByteBuffer> etl, PastryNode pn, MultiAddressSourceRouteFactory esrFactory)`
`protected SocketPastryNodeFactory.TransLivenessProximity<TransportLayerNodeHandle<MultiInetSocketAddress>,java.nio.ByteBuffer>` | `getUpperIdentityLayer(TransportLayer<MultiInetSocketAddress,java.nio.ByteBuffer> priorityTL, PastryNode pn, IdentityImpl<TransportLayerNodeHandle<MultiInetSocketAddress>,MultiInetSocketAddress,java.nio.ByteBuffer,SourceRoute<MultiInetSocketAddress>> identity, LivenessProvider<MultiInetSocketAddress> live, ProximityProvider<MultiInetSocketAddress> prox, OverrideLiveness<SourceRoute<MultiInetSocketAddress>> overrideLiveness)`
`protected TransportLayer<java.net.InetSocketAddress,java.nio.ByteBuffer>` | `getWireTransportLayer(java.net.InetSocketAddress innermostAddress, PastryNode pn)`
`PastryNode` | `newNode()` Need to boot manually.
`PastryNode` | `newNode(Id id)`
`PastryNode` | `newNode(Id nodeId, java.net.InetSocketAddress pAddress)` This method uses the pAddress as the outer address if it's non-null.
`PastryNode` | `newNode(Id nodeId, MultiInetSocketAddress pAddress)` Method which creates a Pastry node from the next port with the specified nodeId (or one generated from the NodeIdFactory if not specified)
`PastryNode` | `newNode(java.net.InetSocketAddress proxyAddress)`
`PastryNode` | `newNode(NodeHandle bootstrap)` Method which creates a Pastry node from the next port with a randomly generated NodeId.
`PastryNode` | `newNode(NodeHandle bootstrap, Id nodeId)` Method which creates a Pastry node from the next port with the specified nodeId (or one generated from the NodeIdFactory if not specified)
`PastryNode` | `newNode(NodeHandle nodeHandle, Id id, java.net.InetSocketAddress proxyAddress)` Method which creates a Pastry node from the next port with the specified nodeId (or one generated from the NodeIdFactory if not specified)
`PastryNode` | `newNode(NodeHandle bootstrap, java.net.InetSocketAddress proxy)` Method which creates a Pastry node from the next port with the specified nodeId (or one generated from the NodeIdFactory if not specified)
`protected void` | `newNodeSelector(Id nodeId, MultiInetSocketAddress proxyAddress, Continuation<PastryNode,java.io.IOException> deliverResultToMe, java.util.Map<java.lang.String,java.lang.Object> initialVars)` Only call this on the selector thread.
`protected void` | `registerApps(PastryNode pn, LeafSet leafSet, RoutingTable routeTable, NodeHandleAdapter nha, NodeHandleFactory handleFactory)`
`static java.net.InetSocketAddress` | `verifyConnection(int i, java.net.InetSocketAddress addr, java.net.InetSocketAddress[] addr2, Environment env, Logger l)`

Methods inherited from class rice.pastry.transport.TransportPastryNodeFactory
`getJoinProtocol, getLeafSetProtocol, getProximityNeighborSelector, getRouterStrategy, 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

### PROXY_ADDRESS

    public static final java.lang.String PROXY_ADDRESS

  Maps to a MultiInetSocketAddress

  See Also:
    Constant Field Values

### IP_SERVICE

    public static final java.lang.String IP_SERVICE

  Maps to a InetSocketAddressLookup

  See Also:
    Constant Field Values

### MULTI_INET_TL

    public static final java.lang.String MULTI_INET_TL

  Maps to MultiInetAddressTransportLayer

  See Also:
    Constant Field Values

### PRIORITY_TL

    public static final java.lang.String PRIORITY_TL

  maps to a PriorityTransportLayer

  See Also:
    Constant Field Values

### MULTI_ADDRESS_STRATEGY

    public static final java.lang.String MULTI_ADDRESS_STRATEGY

See Also:
  Constant Field Values

### PASTRY_MAGIC_NUMBER

    public static final byte[] PASTRY_MAGIC_NUMBER

### nidFactory

    protected NodeIdFactory nidFactory

### localAddress

    protected java.net.InetAddress localAddress

### testFireWallPolicy

    protected int testFireWallPolicy

### findFireWallPolicy

    protected int findFireWallPolicy

Constructor Detail

### SocketPastryNodeFactory

    public SocketPastryNodeFactory(NodeIdFactory nf,
                                   int startPort,
                                   Environment env)
                            throws java.io.IOException

Throws:
  `java.io.IOException`

### SocketPastryNodeFactory

    public SocketPastryNodeFactory(NodeIdFactory nf,
                                   java.net.InetAddress bindAddress,
                                   int startPort,
                                   Environment env)
                            throws java.io.IOException

Throws:
  `java.io.IOException`

Method Detail

### getBindAddress

    public java.net.InetAddress getBindAddress()

### getNextInetSocketAddress

    public java.net.InetSocketAddress getNextInetSocketAddress()

### registerApps

    protected void registerApps(PastryNode pn,
                                LeafSet leafSet,
                                RoutingTable routeTable,
                                NodeHandleAdapter nha,
                                NodeHandleFactory handleFactory)

  Overrides:
    `registerApps` in class `TransportPastryNodeFactory`

### getProbeStrategy

    protected ProbeStrategy getProbeStrategy(PastryNode pn)

### getLocalHandle

    public NodeHandle getLocalHandle(PastryNode pn,
                                     NodeHandleFactory nhf)

  Specified by:
    `getLocalHandle` in class `TransportPastryNodeFactory`

### getNodeHandleFactory

    public NodeHandleFactory getNodeHandleFactory(PastryNode pn)

  Specified by:
    `getNodeHandleFactory` in class `TransportPastryNodeFactory`

### getBottomLayers

    public TransportLayer<java.net.InetSocketAddress,java.nio.ByteBuffer> getBottomLayers(PastryNode pn,
                                                                                          MultiInetSocketAddress proxyAddress)
                                                                                   throws java.io.IOException

  This is split off so we can get the IpServiceLayer easily.

  Returns:
  Throws:
    `java.io.IOException`

### getNodeHandleAdapter

    public NodeHandleAdapter getNodeHandleAdapter(PastryNode pn,
                                                  NodeHandleFactory handleFactory2,
                                                  TLDeserializer deserializer)
                                           throws java.io.IOException

  Specified by:
    `getNodeHandleAdapter` in class `TransportPastryNodeFactory`
  Throws:
    `java.io.IOException`

### getMultiAddressSourceRouteFactory

    protected MultiAddressSourceRouteFactory getMultiAddressSourceRouteFactory(PastryNode pn)

### getWireTransportLayer

    protected TransportLayer<java.net.InetSocketAddress,java.nio.ByteBuffer> getWireTransportLayer(java.net.InetSocketAddress innermostAddress,
                                                                                                   PastryNode pn)
                                                                                            throws java.io.IOException

  Throws:
    `java.io.IOException`

### getSocketCountListener

    protected SocketCountListener<java.net.InetSocketAddress> getSocketCountListener(PastryNode pn)

### getMagicNumberTransportLayer

    protected TransportLayer<java.net.InetSocketAddress,java.nio.ByteBuffer> getMagicNumberTransportLayer(TransportLayer<java.net.InetSocketAddress,java.nio.ByteBuffer> wtl,
                                                                                                          PastryNode pn)

### getLimitSocketsTransportLayer

    protected TransportLayer<java.net.InetSocketAddress,java.nio.ByteBuffer> getLimitSocketsTransportLayer(TransportLayer<java.net.InetSocketAddress,java.nio.ByteBuffer> mntl,
                                                                                                           PastryNode pn)

### getIpServiceTransportLayer

    protected TransportLayer<java.net.InetSocketAddress,java.nio.ByteBuffer> getIpServiceTransportLayer(TransportLayer<java.net.InetSocketAddress,java.nio.ByteBuffer> wtl,
                                                                                                        PastryNode pn)

### getMultiAddressSourceRouteTransportLayer

    protected TransportLayer<MultiInetSocketAddress,java.nio.ByteBuffer> getMultiAddressSourceRouteTransportLayer(TransportLayer<java.net.InetSocketAddress,java.nio.ByteBuffer> mntl,
                                                                                                                  PastryNode pn,
                                                                                                                  MultiInetSocketAddress localAddress)

### getSourceRouteTransportLayer

    protected TransportLayer<SourceRoute<MultiInetSocketAddress>,java.nio.ByteBuffer> getSourceRouteTransportLayer(TransportLayer<MultiInetSocketAddress,java.nio.ByteBuffer> etl,
                                                                                                                   PastryNode pn,
                                                                                                                   MultiAddressSourceRouteFactory esrFactory)

### getSourceRouteForwardStrategy

    protected SourceRouteForwardStrategy<MultiInetSocketAddress> getSourceRouteForwardStrategy(PastryNode pn,
                                                                                               MultiAddressSourceRouteFactory esrFactory)

### getIdentiySerializer

    protected IdentitySerializer<TransportLayerNodeHandle<MultiInetSocketAddress>,MultiInetSocketAddress,SourceRoute<MultiInetSocketAddress>> getIdentiySerializer(PastryNode pn,
                                                                                                                                                                   SocketNodeHandleFactory handleFactory)

### getIdentityImpl

    protected IdentityImpl<TransportLayerNodeHandle<MultiInetSocketAddress>,MultiInetSocketAddress,java.nio.ByteBuffer,SourceRoute<MultiInetSocketAddress>> getIdentityImpl(PastryNode pn,
                                                                                                                                                                            SocketNodeHandleFactory handleFactory)
                                                                                                                                                                     throws java.io.IOException

  Throws:
    `java.io.IOException`

### getLowerIdentityLayer

    protected TransportLayer<SourceRoute<MultiInetSocketAddress>,java.nio.ByteBuffer> getLowerIdentityLayer(TransportLayer<SourceRoute<MultiInetSocketAddress>,java.nio.ByteBuffer> srl,
                                                                                                            PastryNode pn,
                                                                                                            IdentityImpl<TransportLayerNodeHandle<MultiInetSocketAddress>,MultiInetSocketAddress,java.nio.ByteBuffer,SourceRoute<MultiInetSocketAddress>> identity)

### getLivenessTransportLayer

    protected SocketPastryNodeFactory.TransLiveness<SourceRoute<MultiInetSocketAddress>,java.nio.ByteBuffer> getLivenessTransportLayer(TransportLayer<SourceRoute<MultiInetSocketAddress>,java.nio.ByteBuffer> tl,
                                                                                                                                       PastryNode pn)

### getSourceRouteManagerLayer

    protected SocketPastryNodeFactory.TransLivenessProximity<MultiInetSocketAddress,java.nio.ByteBuffer> getSourceRouteManagerLayer(TransportLayer<SourceRoute<MultiInetSocketAddress>,java.nio.ByteBuffer> ltl,
                                                                                                                                    LivenessProvider<SourceRoute<MultiInetSocketAddress>> livenessProvider,
                                                                                                                                    Pinger<SourceRoute<MultiInetSocketAddress>> pinger,
                                                                                                                                    PastryNode pn,
                                                                                                                                    MultiInetSocketAddress proxyAddress,
                                                                                                                                    MultiAddressSourceRouteFactory esrFactory)
                                                                                                                             throws java.io.IOException

  Throws:
    `java.io.IOException`

### getSourceRouteStrategy

    protected SourceRouteStrategy<MultiInetSocketAddress> getSourceRouteStrategy(TransportLayer<SourceRoute<MultiInetSocketAddress>,java.nio.ByteBuffer> ltl,
                                                                                 LivenessProvider<SourceRoute<MultiInetSocketAddress>> livenessProvider,
                                                                                 Pinger<SourceRoute<MultiInetSocketAddress>> pinger,
                                                                                 PastryNode pn,
                                                                                 MultiInetSocketAddress proxyAddress,
                                                                                 MultiAddressSourceRouteFactory esrFactory)
                                                                          throws java.io.IOException

  Throws:
    `java.io.IOException`

### getNextHopStrategy

    protected NextHopStrategy<MultiInetSocketAddress> getNextHopStrategy(TransportLayer<SourceRoute<MultiInetSocketAddress>,java.nio.ByteBuffer> ltl,
                                                                         LivenessProvider<SourceRoute<MultiInetSocketAddress>> livenessProvider,
                                                                         Pinger<SourceRoute<MultiInetSocketAddress>> pinger,
                                                                         PastryNode pn,
                                                                         MultiInetSocketAddress proxyAddress,
                                                                         MultiAddressSourceRouteFactory esrFactory)
                                                                  throws java.io.IOException

  Throws:
    `java.io.IOException`

### getPriorityTransportLayer

    protected PriorityTransportLayer<MultiInetSocketAddress> getPriorityTransportLayer(TransportLayer<MultiInetSocketAddress,java.nio.ByteBuffer> trans,
                                                                                       LivenessProvider<MultiInetSocketAddress> liveness,
                                                                                       ProximityProvider<MultiInetSocketAddress> prox,
                                                                                       PastryNode pn)

### getUpperIdentityLayer

    protected SocketPastryNodeFactory.TransLivenessProximity<TransportLayerNodeHandle<MultiInetSocketAddress>,java.nio.ByteBuffer> getUpperIdentityLayer(TransportLayer<MultiInetSocketAddress,java.nio.ByteBuffer> priorityTL,
                                                                                                                                                         PastryNode pn,
                                                                                                                                                         IdentityImpl<TransportLayerNodeHandle<MultiInetSocketAddress>,MultiInetSocketAddress,java.nio.ByteBuffer,SourceRoute<MultiInetSocketAddress>> identity,
                                                                                                                                                         LivenessProvider<MultiInetSocketAddress> live,
                                                                                                                                                         ProximityProvider<MultiInetSocketAddress> prox,
                                                                                                                                                         OverrideLiveness<SourceRoute<MultiInetSocketAddress>> overrideLiveness)

### getCommonAPITransportLayer

    protected TransportLayer<TransportLayerNodeHandle<MultiInetSocketAddress>,RawMessage> getCommonAPITransportLayer(TransportLayer<TransportLayerNodeHandle<MultiInetSocketAddress>,java.nio.ByteBuffer> upperIdentity,
                                                                                                                     PastryNode pn,
                                                                                                                     TLDeserializer deserializer)

### getBootstrapper

    protected Bootstrapper getBootstrapper(PastryNode pn,
                                           NodeHandleAdapter tl,
                                           NodeHandleFactory handleFactory,
                                           ProximityNeighborSelector pns)

  Specified by:
    `getBootstrapper` in class `TransportPastryNodeFactory`

### getNodeHandle

    public NodeHandle getNodeHandle(java.net.InetSocketAddress bootstrap,
                                    int i)

### getNodeHandle

    public NodeHandle getNodeHandle(java.net.InetSocketAddress bootstrap)

### getNodeHandle

    public void getNodeHandle(java.net.InetSocketAddress[] bootstraps,
                              Continuation c)

### getNodeHandle

    public NodeHandle getNodeHandle(java.net.InetSocketAddress[] bootstraps,
                                    int int1)

### newNode

    public PastryNode newNode(NodeHandle bootstrap)

  Method which creates a Pastry node from the next port with a randomly generated NodeId.

  Specified by:
    `newNode` in class `PastryNodeFactory`
  Parameters:
    `bootstrap` - Node handle to bootstrap from.
  Returns:
    A node with a random ID and next port number.

### newNode

    public PastryNode newNode(NodeHandle bootstrap,
                              java.net.InetSocketAddress proxy)

  Method which creates a Pastry node from the next port with the specified nodeId (or one generated from the NodeIdFactory if not specified)

  Parameters:
    `bootstrap` - Node handle to bootstrap from.
  Returns:
    A node with a random ID and next port number.

### newNode

    public PastryNode newNode(NodeHandle bootstrap,
                              Id nodeId)

  Method which creates a Pastry node from the next port with the specified nodeId (or one generated from the NodeIdFactory if not specified)

  Specified by:
    `newNode` in class `PastryNodeFactory`
  Parameters:
    `bootstrap` - Node handle to bootstrap from.
    `nodeId` - if non-null, will use this nodeId for the node, rather than using the NodeIdFactory
  Returns:
    A node with a random ID and next port number.

### newNode

    public PastryNode newNode()

  Need to boot manually. n.getBootstrapper().boot(addresses);

  Specified by:
    `newNode` in class `PastryNodeFactory`
  Returns:

### newNode

    public PastryNode newNode(Id id)

  Specified by:
    `newNode` in class `PastryNodeFactory`

### newNode

    public PastryNode newNode(java.net.InetSocketAddress proxyAddress)

### newNode

    public PastryNode newNode(NodeHandle nodeHandle,
                              Id id,
                              java.net.InetSocketAddress proxyAddress)

  Method which creates a Pastry node from the next port with the specified nodeId (or one generated from the NodeIdFactory if not specified)

  Parameters:
    `pilot` - Node handle to bootstrap from.
    `nodeId` - if non-null, will use this nodeId for the node, rather than using the NodeIdFactory
  Returns:
    A node with a random ID and next port number.

### newNode

    public PastryNode newNode(Id nodeId,
                              java.net.InetSocketAddress pAddress)

  This method uses the pAddress as the outer address if it's non-null. It automatically generates the internal address from the localAddress, and increments the port as necessary.

  Parameters:
    `nodeId` -
    `pAddress` -
  Returns:

### newNode

    public PastryNode newNode(Id nodeId,
                              MultiInetSocketAddress pAddress)
                       throws java.io.IOException

  Method which creates a Pastry node from the next port with the specified nodeId (or one generated from the NodeIdFactory if not specified)

  Parameters:
    `pilot` - Node handle to bootstrap from.
    `nodeId` - if non-null, will use this nodeId for the node, rather than using the NodeIdFactory
    `pAddress` - The address to claim that this node is at - used for proxies behind NATs
  Returns:
    A node with a random ID and next port number.
  Throws:
    `java.io.IOException`

### newNodeSelector

    protected void newNodeSelector(Id nodeId,
                                   MultiInetSocketAddress proxyAddress,
                                   Continuation<PastryNode,java.io.IOException> deliverResultToMe,
                                   java.util.Map<java.lang.String,java.lang.Object> initialVars)

  Only call this on the selector thread.

  Parameters:
    `nodeId` -
    `pAddress` -

### cloneEnvironment

    protected Environment cloneEnvironment(Environment rootEnvironment,
                                           Id nodeId)

### cloneLogManager

    protected LogManager cloneLogManager(Environment rootEnvironment,
                                         Id nodeId)

### cloneSelectorManager

    protected SelectorManager cloneSelectorManager(Environment rootEnvironment,
                                                   Id nodeId,
                                                   LogManager lman)

### cloneProcessor

    protected Processor cloneProcessor(Environment rootEnvironment,
                                       Id nodeId,
                                       LogManager lman)

### cloneRandomSource

    protected RandomSource cloneRandomSource(Environment rootEnvironment,
                                             Id nodeId,
                                             LogManager lman)

### verifyConnection

    public static java.net.InetSocketAddress verifyConnection(int i,
                                                              java.net.InetSocketAddress addr,
                                                              java.net.InetSocketAddress[] addr2,
                                                              Environment env,
                                                              Logger l)

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.