|
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.leafset.LeafSet
A class for representing and manipulating the leaf set. The leafset is not strictly a set: when the ring is small, a node may appear in both the cw and the ccw half of the "set".
Constructor Summary | |
LeafSet(NodeHandle localNode,
int size)
Constructor. |
|
LeafSet(NodeHandle localNode,
int size,
boolean observe)
Constructor for LeafSet. |
|
LeafSet(NodeHandle localNode,
int size,
boolean observe,
NodeHandle[] cwTable,
NodeHandle[] ccwTable)
Constructor for LeafSet. |
Method Summary | |
void |
addNodeSetListener(NodeSetListener listener)
Add observer method. |
void |
addObserver(java.util.Observer o)
Deprecated. use addNodeSetListener |
static LeafSet |
build(InputBuffer buf,
NodeHandleFactory nhf)
So that small LeafSets (who have overlapping nodes) don't waste bandwidth, leafset first defines the NodeHandles to be loaded into an array, then specifies their locations. |
int |
ccwSize()
Gets the current counterclockwise size. |
LeafSet |
copy()
DESCRIBE THE METHOD |
int |
cwSize()
Gets the current clockwise size. |
void |
deleteNodeSetListener(NodeSetListener listener)
Delete observer method. |
void |
deleteObserver(java.util.Observer o)
Deprecated. use deleteNodeSetListener |
boolean |
directTest(NodeHandle handle)
DESCRIBE THE METHOD |
NodeHandle |
get(int index)
Finds the NodeHandle at a given index. |
int |
getIndex(NodeHandle nh)
Gets the Index attribute of the LeafSet object |
int |
getUniqueCount()
Returns the number of unique nodes in the leafset |
boolean |
isComplete()
Gets the Complete attribute of the LeafSet object |
protected boolean |
isProperlyRemoved(NodeHandle handle)
Gets the ProperlyRemoved attribute of the LeafSet object |
int |
maxSize()
Gets the maximal size of the leaf set. |
boolean |
member(Id nid)
Verifies if the set contains this particular id. |
boolean |
member(NodeHandle nid)
Verifies if the set contains this particular handle. |
boolean |
merge(LeafSet remotels,
NodeHandle from,
RoutingTable routeTable,
boolean testOnly,
java.util.Set insertedHandles)
Merge a remote leafset into this |
int |
mostSimilar(Id nid)
Numerically closests node to a given a node in the leaf set. |
NodeSet |
neighborSet(int max)
compute an ordered set of nodes that are neighbors of this local node, in order of numerical closeness to the local node |
boolean |
overlaps()
Test if the leafset overlaps |
boolean |
put(NodeHandle handle)
Puts a NodeHandle into the set. |
IdRange |
range(NodeHandle n,
int r)
range computes the range of keys for which node n is a i-root, 0<=i<=r a node is the r-root for a key of the node becomes the numerically closest node to the key when i-roots for the key fail, O<=i |
IdRange |
range(NodeHandle n,
int r,
boolean cw)
range computes the ranges of keys for which node n is a r-root a node is the r-root for a key of the node becomes the numerically closest node to the key when i-roots for the key fail, O<=i |
NodeHandle |
remove(NodeHandle nh)
Removes a node id and its handle from the set. |
NodeSet |
replicaSet(Id key,
int max)
compute an ordered set of nodes, in order of numerical closeness to a given key |
void |
serialize(OutputBuffer buf)
So that small LeafSets (who have overlapping nodes) don't waste bandwidth, leafset first defines the NodeHandles to be loaded into an array, then specifies their locations. |
int |
size()
Gets the current size of the leaf set. |
boolean |
test(NodeHandle handle)
Test if a put of the given NodeHandle would succeed. |
protected boolean |
testOtherSet(SimilarSet set,
NodeHandle handle)
A unit test for JUnit |
java.lang.String |
toString()
Returns a string representation of the leaf set |
Methods inherited from class java.util.Observable |
clearChanged, countObservers, deleteObservers, hasChanged, notifyObservers, notifyObservers, setChanged |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
public LeafSet(NodeHandle localNode, int size)
size
- the size of the leaf set.localNode
- DESCRIBE THE PARAMETERpublic LeafSet(NodeHandle localNode, int size, boolean observe)
localNode
- DESCRIBE THE PARAMETERsize
- DESCRIBE THE PARAMETERobserve
- DESCRIBE THE PARAMETERpublic LeafSet(NodeHandle localNode, int size, boolean observe, NodeHandle[] cwTable, NodeHandle[] ccwTable)
localNode
- DESCRIBE THE PARAMETERsize
- DESCRIBE THE PARAMETERobserve
- DESCRIBE THE PARAMETERcwTable
- DESCRIBE THE PARAMETERccwTable
- DESCRIBE THE PARAMETERMethod Detail |
public boolean isComplete()
public int getIndex(NodeHandle nh) throws java.util.NoSuchElementException
nh
- DESCRIBE THE PARAMETER
java.util.NoSuchElementException
- DESCRIBE THE EXCEPTIONpublic NodeHandle get(int index)
index
- an index.
public int getUniqueCount()
protected boolean isProperlyRemoved(NodeHandle handle)
handle
- DESCRIBE THE PARAMETER
public boolean put(NodeHandle handle)
handle
- the handle to put.
public boolean test(NodeHandle handle)
handle
- the handle to test.
public boolean overlaps()
public boolean member(NodeHandle nid)
nid
- a NodeHandle.
public boolean member(Id nid)
nid
- a node id.
public NodeHandle remove(NodeHandle nh)
nh
- DESCRIBE THE PARAMETER
public int maxSize()
public int size()
public int cwSize()
public int ccwSize()
public int mostSimilar(Id nid)
nid
- a node id.
public NodeSet neighborSet(int max)
max
- the maximal size of the set requested
public NodeSet replicaSet(Id key, int max)
key
- the keymax
- the maximal size of the set requested
public IdRange range(NodeHandle n, int r)
n
- the nodehandler
-
public IdRange range(NodeHandle n, int r, boolean cw)
n
- the nodehandler
- cw
- if true returns the clockwise range, else the counterclockwise
range
public boolean merge(LeafSet remotels, NodeHandle from, RoutingTable routeTable, boolean testOnly, java.util.Set insertedHandles)
remotels
- the remote leafsetfrom
- the node from which we received the leafsetrouteTable
- the routing tabletestOnly
- if true, do not change the leafsetinsertedHandles
- if not null, a Set that contains, upon return of
this method, the nodeHandles that would be inserted into this LeafSet
if testOnly is true
public void addObserver(java.util.Observer o)
o
- the observer to add.public void deleteObserver(java.util.Observer o)
o
- the observer to delete.public void addNodeSetListener(NodeSetListener listener)
listener
- The feature to be added to the NodeSetListener attributepublic void deleteNodeSetListener(NodeSetListener listener)
listener
- DESCRIBE THE PARAMETERpublic java.lang.String toString()
protected boolean testOtherSet(SimilarSet set, NodeHandle handle)
set
- DESCRIBE THE PARAMETERhandle
- DESCRIBE THE PARAMETER
public boolean directTest(NodeHandle handle)
handle
- DESCRIBE THE PARAMETER
public LeafSet copy()
public void serialize(OutputBuffer buf) throws java.io.IOException
buf
- DESCRIBE THE PARAMETER
java.io.IOException
- DESCRIBE THE EXCEPTIONpublic static LeafSet build(InputBuffer buf, NodeHandleFactory nhf) throws java.io.IOException
buf
- DESCRIBE THE PARAMETERnhf
- DESCRIBE THE PARAMETER
java.io.IOException
- DESCRIBE THE EXCEPTION
|
Rice Pastry API | ||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |