Advertisement
Guest User

First

a guest
Sep 23rd, 2014
212
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. function ChordNode(nodeId){
  3.     this.nodeId = nodeId;                               /*Node IP:port or its id*/
  4.     this.nodeKey = new ChordKey(nodeId);                /*Contains hashed key of node*/
  5.     this.fingerTable = new FingerTable(this.nodeKey);   /*Finger table of node*/
  6.     this.predecessor = null;                            /*predecessor of node*/
  7.     this.successor = this;                              /*successor of node*/
  8. }
  9.  
  10. ChordNode.prototype.findSuccessor_id(id){               /*Will take argument as string*/
  11.     var key = new ChordKey(id);
  12.     return findSuccessor_Chordkey(key);
  13. }
  14.  
  15. ChordNode.prototype.findSuccessor_Chordkey(key){        /*Will take argument as ChordKey object*/
  16.     if(this == this.successor)
  17.         return this;
  18.  
  19.     if (key.isBetween(this.getNodeKey(), this.successor.getNodeKey()) ||                /*If requested key is inbetween (n,n.sucessor]*/
  20.         key.compareTo(this.successor.getNodeKey()) == 0)
  21.             return this.successor;                                                      /*return n.sucessor*/
  22.        
  23.  
  24.     else {
  25.         var node = this.closestPrecedingNode(key);
  26.        
  27.         if (node == this) return this.successor.findSuccessor(key);
  28.        
  29.         return node.findSuccessor(key);
  30.     }
  31. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement