|
Rice Pastry API | ||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectrice.pastry.standard.StandardJoinProtocol
rice.pastry.standard.ConsistentJoinProtocol
Does not setReady until contacting entire leafset which gossips new members. Provides consistency as long as checkLiveness() never incorrectly reports a node faulty. Based on MSR-TR-2003-94. The difference is that our assumption that checkLiveness() is much stronger because we are using DSR rather than checking ourself. Another difference is that we are unwilling to pull nodes from our leafset without checkingLiveness() ourself.
Field Summary | |
static int |
RETRY_INTERVAL
Will retry sending ConsistentJoinMsg to all neighbors who have not responded on this interval. |
Fields inherited from class rice.pastry.standard.StandardJoinProtocol |
address, leafSet, localHandle, localNode, routeTable, security |
Constructor Summary | |
ConsistentJoinProtocol(PastryNode ln,
NodeHandle lh,
PastrySecurityManager sm,
RoutingTable rt,
LeafSet ls)
Constructor takes in the usual suspects. |
Method Summary | |
void |
addToLeafSet(NodeHandle nh)
Observes all NodeHandles added to LeafSet |
void |
receiveMessage(Message msg)
Handle the CJM as in the MSR-TR |
void |
requestFromEveryoneWeHaventHeardFrom()
DESCRIBE THE METHOD |
void |
sendTheMessage(NodeHandle nh,
boolean reply)
Sends a consistent join protocol message. |
protected void |
setReady()
This is where we start out, when the StandardJoinProtocol would call setReady(); |
void |
update(java.util.Observable arg0,
java.lang.Object arg)
Can be leafset updates, or nodehandle updates. |
java.util.Collection |
whoDoWeNeedAResponseFrom()
Returns all members of the leafset that are not in gotResponse |
Methods inherited from class rice.pastry.standard.StandardJoinProtocol |
broadcastRows, getAddress |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public static final int RETRY_INTERVAL
Constructor Detail |
public ConsistentJoinProtocol(PastryNode ln, NodeHandle lh, PastrySecurityManager sm, RoutingTable rt, LeafSet ls)
ln
- DESCRIBE THE PARAMETERlh
- DESCRIBE THE PARAMETERsm
- DESCRIBE THE PARAMETERrt
- DESCRIBE THE PARAMETERls
- DESCRIBE THE PARAMETERMethod Detail |
protected void setReady()
setReady
in class StandardJoinProtocol
public void addToLeafSet(NodeHandle nh)
nh
- the nodeHandle to addpublic void requestFromEveryoneWeHaventHeardFrom()
public java.util.Collection whoDoWeNeedAResponseFrom()
public void receiveMessage(Message msg)
receiveMessage
in interface MessageReceiver
receiveMessage
in class StandardJoinProtocol
msg
- DESCRIBE THE PARAMETERpublic void sendTheMessage(NodeHandle nh, boolean reply)
nh
- reply
- public void update(java.util.Observable arg0, java.lang.Object arg)
update
in interface java.util.Observer
arg0
- DESCRIBE THE PARAMETERarg
- DESCRIBE THE PARAMETER
|
Rice Pastry API | ||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |