|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.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. |
Method Summary | |
void |
addObserver(java.util.Observer o)
Add observer method. |
int |
ccwSize()
Gets the current counterclockwise size. |
int |
cwSize()
Gets the current clockwise size. |
void |
deleteObserver(java.util.Observer o)
Delete observer method. |
NodeHandle |
get(int index)
Finds the NodeHandle at a given index. |
NodeHandle |
get(NodeId nid)
Finds the NodeHandle associated with the NodeId. |
int |
getIndex(NodeId nid)
Gets the index of the element with the given node id. |
int |
maxSize()
Gets the maximal size of the leaf set. |
boolean |
member(NodeId nid)
Verifies if the set contains this particular id. |
boolean |
merge(LeafSet remotels,
NodeHandle from,
RoutingTable routeTable,
PastrySecurityManager security,
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(NodeId nid)
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 |
int |
size()
Gets the current size of the leaf set. |
boolean |
test(NodeHandle handle)
Test if a put of the given NodeHandle would succeed. |
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.Method Detail |
public boolean put(NodeHandle handle)
handle
- the handle to put.
public boolean test(NodeHandle handle)
handle
- the handle to test.
public boolean overlaps()
public NodeHandle get(NodeId nid)
nid
- a node id.
public int getIndex(NodeId nid) throws java.util.NoSuchElementException
nid
- the node id.
java.util.NoSuchElementException
public NodeHandle get(int index)
index
- an index.
public boolean member(NodeId nid)
nid
- a node id.
public NodeHandle remove(NodeId nid)
nid
- the node to remove.
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, PastrySecurityManager security, boolean testOnly, java.util.Set insertedHandles)
remotels
- the remote leafsetfrom
- the node from which we received the leafsetrouteTable
- the routing tablesecurity
- the security managertestOnly
- 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 java.lang.String toString()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |