|
Rice Pastry API | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object java.util.Observable rice.pastry.PastryNode
public abstract class PastryNode
A Pastry node is single entity in the pastry network.
Field Summary | |
---|---|
protected java.util.Vector |
apps
|
protected boolean |
joinFailed
|
protected JoinFailedException |
joinFailedReason
|
protected LeafSet |
leafSet
|
protected NodeHandle |
localhandle
|
protected Logger |
logger
|
protected Id |
myNodeId
|
protected RoutingTable |
routeSet
|
Constructor Summary | |
---|---|
protected |
PastryNode(Id id,
Environment e)
Constructor, with NodeId. |
Method Summary | |
---|---|
Destructable |
addDestructable(Destructable d)
|
void |
addLeafSetListener(NodeSetListener listener)
|
void |
addLeafSetObserver(java.util.Observer o)
Deprecated. use addLeafSetListener |
void |
addRouteSetListener(NodeSetListener listener)
|
void |
addRouteSetObserver(java.util.Observer o)
Deprecated. use addRouteSetListener |
Endpoint |
buildEndpoint(Application application,
java.lang.String instance)
Same as register application, but returns an unregistered Endpoint. |
abstract NodeHandle |
coalesce(NodeHandle newHandle)
|
abstract void |
connect(NodeHandle handle,
AppSocketReceiver receiver,
PastryAppl appl,
int timeout)
Called by PastryAppl to ask the transport layer to open a Socket to its counterpart on another node. |
void |
deleteLeafSetListener(NodeSetListener listener)
|
void |
deleteLeafSetObserver(java.util.Observer o)
Deprecated. use deleteLeafSetListener |
void |
deleteRouteSetObserver(java.util.Observer o)
Deprecated. use deleteRouteSetListener |
void |
destroy()
Method which kills a PastryNode. |
ReadyStrategy |
getDefaultReadyStrategy()
Simple Ready Strategy |
Environment |
getEnvironment()
Returns the environment. |
Id |
getId()
Returns the Id of this node |
IdFactory |
getIdFactory()
Returns a factory for Ids specific to this node's protocol. |
LeafSet |
getLeafSet()
|
NodeHandle |
getLocalHandle()
|
NodeHandle |
getLocalNodeHandle()
Returns a handle to the local node. |
MessageDispatch |
getMessageDispatch()
FOR TESTING ONLY - DO NOT USE! |
Id |
getNodeId()
|
RoutingTable |
getRoutingTable()
|
abstract void |
initiateJoin(NodeHandle[] bootstrap)
Overridden by derived classes to initiate the join process |
boolean |
isClosest(Id key)
Called by the layered Pastry application to check if the local pastry node is the one that is currently closest to the object key id. |
boolean |
isReady()
|
boolean |
joinFailed()
Returns true if there was a fatal error Joining |
void |
joinFailed(JoinFailedException cje)
|
JoinFailedException |
joinFailedReason()
|
abstract void |
nodeIsReady()
Overridden by derived classes, and invoked when the node has joined successfully. |
void |
nodeIsReady(boolean state)
Overridden by derived classes, and invoked when the node has joined successfully. |
void |
notifyReadyObservers()
|
void |
process(Executable task,
Continuation command)
Schedules a job for processing on the dedicated processing thread, should one exist. |
abstract int |
proximity(NodeHandle nh)
The proximity of the node handle. |
void |
receiveMessage(Message msg)
message receiver interface. |
void |
receiveMessage(RawMessageDelivery delivery)
|
void |
registerApp(PastryAppl app)
Registers an application with this pastry node. |
Endpoint |
registerApplication(Application application,
java.lang.String instance)
Deprecated. use buildEndpoint() endpoint.register() |
void |
registerReceiver(int address,
PastryAppl receiver)
Registers a message receiver with this Pastry node. |
boolean |
removeDestructable(Destructable d)
|
void |
removeRouteSetListener(NodeSetListener listener)
|
abstract ScheduledMessage |
scheduleMsg(Message msg,
long delay)
Schedule the specified message to be sent to the local node after a specified delay. |
abstract ScheduledMessage |
scheduleMsg(Message msg,
long delay,
long period)
Schedule the specified message for repeated fixed-delay delivery to the local node, beginning after the specified delay. |
abstract ScheduledMessage |
scheduleMsgAtFixedRate(Message msg,
long delay,
long period)
Schedule the specified message for repeated fixed-rate delivery to the local node, beginning after the specified delay. |
abstract void |
send(NodeHandle handle,
Message message)
Deliver message to the NodeHandle. |
void |
setElements(NodeHandle lh,
MessageDispatch md,
LeafSet ls,
RoutingTable rt)
Combined accessor method for various members of PastryNode. |
void |
setMessageDispatch(MessageDispatch md)
|
void |
setReady()
|
void |
setReady(boolean ready)
|
void |
setReadyStrategy(ReadyStrategy rs)
|
java.lang.String |
toString()
|
Methods inherited from class java.util.Observable |
---|
addObserver, clearChanged, countObservers, deleteObserver, deleteObservers, hasChanged, notifyObservers, notifyObservers, setChanged |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface rice.pastry.NodeHandleFactory |
---|
readNodeHandle |
Field Detail |
---|
protected Id myNodeId
protected LeafSet leafSet
protected RoutingTable routeSet
protected NodeHandle localhandle
protected java.util.Vector apps
protected Logger logger
protected boolean joinFailed
protected JoinFailedException joinFailedReason
Constructor Detail |
---|
protected PastryNode(Id id, Environment e)
Method Detail |
---|
public abstract NodeHandle coalesce(NodeHandle newHandle)
public ReadyStrategy getDefaultReadyStrategy()
public void setReadyStrategy(ReadyStrategy rs)
public void setElements(NodeHandle lh, MessageDispatch md, LeafSet ls, RoutingTable rt)
lh
- Node handle corresponding to this node.sm
- Security manager.md
- Message dispatcher.ls
- Leaf set.rt
- Routing table.public NodeHandle getLocalNodeHandle()
Node
getLocalNodeHandle
in interface Node
public Environment getEnvironment()
Node
getEnvironment
in interface Node
public NodeHandle getLocalHandle()
public Id getNodeId()
public boolean isReady()
public MessageDispatch getMessageDispatch()
public void setMessageDispatch(MessageDispatch md)
public Destructable addDestructable(Destructable d)
public boolean removeDestructable(Destructable d)
public abstract void nodeIsReady()
public void nodeIsReady(boolean state)
state
- true when the node is ready, false when notpublic abstract void initiateJoin(NodeHandle[] bootstrap)
bootstrap
- Node handle to bootstrap with.public void setReady()
public void setReady(boolean ready)
public void notifyReadyObservers()
public boolean isClosest(Id key)
key
- the object key id
public LeafSet getLeafSet()
public RoutingTable getRoutingTable()
public void addLeafSetObserver(java.util.Observer o)
o
- the observer.public void deleteLeafSetObserver(java.util.Observer o)
o
- the observer.public void addLeafSetListener(NodeSetListener listener)
public void deleteLeafSetListener(NodeSetListener listener)
public void addRouteSetObserver(java.util.Observer o)
o
- the observer.public void deleteRouteSetObserver(java.util.Observer o)
o
- the observer.public void addRouteSetListener(NodeSetListener listener)
public void removeRouteSetListener(NodeSetListener listener)
public void receiveMessage(Message msg)
public void receiveMessage(RawMessageDelivery delivery)
public void registerReceiver(int address, PastryAppl receiver)
cred
- the credentials.address
- the address that the receiver will be at.receiver
- the message receiver.public void registerApp(PastryAppl app)
app
- the applicationpublic abstract ScheduledMessage scheduleMsg(Message msg, long delay)
msg
- a message that will be delivered to the local node after the
specified delaydelay
- time in milliseconds before message is to be delivered
public abstract ScheduledMessage scheduleMsg(Message msg, long delay, long period)
msg
- a message that will be delivered to the local node after the
specified delaydelay
- time in milliseconds before message is to be deliveredperiod
- time in milliseconds between successive message deliveries
public abstract ScheduledMessage scheduleMsgAtFixedRate(Message msg, long delay, long period)
msg
- a message that will be delivered to the local node after the
specified delaydelay
- time in milliseconds before message is to be deliveredperiod
- time in milliseconds between successive message deliveries
public java.lang.String toString()
toString
in class java.lang.Object
public Endpoint registerApplication(Application application, java.lang.String instance)
registerApplication
in interface Node
application
- The Applicationinstance
- An identifier for a given instance
public Endpoint buildEndpoint(Application application, java.lang.String instance)
Node
buildEndpoint
in interface Node
public Id getId()
getId
in interface Node
public IdFactory getIdFactory()
getIdFactory
in interface Node
public void process(Executable task, Continuation command)
task
- The task to run on the processing threadcommand
- The command to return the result to once it's donepublic void destroy()
destroy
in interface Destructable
public abstract void send(NodeHandle handle, Message message)
nh
- m
- public abstract void connect(NodeHandle handle, AppSocketReceiver receiver, PastryAppl appl, int timeout)
handle
- receiver
- appl
- public abstract int proximity(NodeHandle nh)
nh
-
public void joinFailed(JoinFailedException cje)
public boolean joinFailed()
public JoinFailedException joinFailedReason()
|
Rice Pastry API | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |