예제 #1
0
        public bool Equals(ChordRealNode n1, IChordNode n2)
        {
            String strHash1 = n1.getHashedIP().ToString();
            String strHash2 = n2.getHashedIP().ToString();

            if (String.Compare(strHash1, strHash2) == 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
예제 #2
0
            public void notify(IChordNode possiblePred)       //IPAddress possiblePredIP, byte[] possiblePredHashedIP)
            {
                if (predecessor == null)                      //|| ((/*(ChordRealNode)*/possiblePred<self) && (/*(ChordRealNode)*/predecessor<possiblePred)))
                {
                    predecessor = possiblePred;
                }
                else
                {
                    String strPossiblePredHash = possiblePred.getHashedIP().ToString();
                    String strSelfHash         = self.getHashedIP().ToString();
                    String strPredecessorHash  = predecessor.getHashedIP().ToString();

                    if ((String.Compare(strPossiblePredHash, strSelfHash) < 0) && (String.Compare(strPredecessorHash, strPossiblePredHash) < 0))
                    {
                        predecessor = possiblePred;
                    }
                }
            }
예제 #3
0
            //IPAddress possiblePredIP, byte[] possiblePredHashedIP)
            public void notify(IChordNode possiblePred)
            {
                if(predecessor==null) //|| ((/*(ChordRealNode)*/possiblePred<self) && (/*(ChordRealNode)*/predecessor<possiblePred)))
                        predecessor = possiblePred;
                    else
                    {
                        String strPossiblePredHash = possiblePred.getHashedIP().ToString();
                        String strSelfHash = self.getHashedIP().ToString();
                        String strPredecessorHash = predecessor.getHashedIP().ToString();

                        if((String.Compare(strPossiblePredHash, strSelfHash)<0) && (String.Compare(strPredecessorHash, strPossiblePredHash)<0))
                            predecessor = possiblePred;
                    }
            }
예제 #4
0
        public bool Equals(ChordRealNode n1, IChordNode n2)
        {
            String strHash1 = n1.getHashedIP().ToString();
            String strHash2 = n2.getHashedIP().ToString();

            if(String.Compare(strHash1, strHash2)==0)
                return true;
            else
                return false;
        }
예제 #5
0
        /*
        public Node findSuccessor(Node queryNode, Node queryingNode)
        {
            return findSuccessor(queryNode.getHashedIP(), queryingNode);
        }

        public Node findSuccessor(byte[] queryHashedKey, Node queryingNode)
        {
            return engine.findSuccessor(queryHashedKey, queryingNode);
        }
        */
        public void beginFindSuccessor(IChordNode queryNode, IChordNode queryingNode, AsyncCallback findSuccessorCallBack, Object appState, Guid relayTicket)
        {
            Console.WriteLine("ChordRealNode::beginFindSuccessor ENTER");
            engine.beginFindSuccessor(queryNode.getHashedIP(), queryingNode, findSuccessorCallBack, appState, relayTicket);
        }
예제 #6
0
 public void beginFindSuccessor(IChordNode queryNode, IChordNode queryingNode, AsyncCallback findSuccessorCallBack, Object appState, Guid relayTicket)
 {
     beginFindSuccessor(queryNode.getHashedIP(), queryingNode, findSuccessorCallBack, appState, relayTicket);
 }
예제 #7
0
 /*
  * public Node findSuccessor(Node queryNode, Node queryingNode)
  * {
  *      return findSuccessor(queryNode.getHashedIP(), queryingNode);
  * }
  *
  * public Node findSuccessor(byte[] queryHashedKey, Node queryingNode)
  * {
  *      return engine.findSuccessor(queryHashedKey, queryingNode);
  * }
  */
 public void beginFindSuccessor(IChordNode queryNode, IChordNode queryingNode, AsyncCallback findSuccessorCallBack, Object appState, Guid relayTicket)
 {
     Console.WriteLine("ChordRealNode::beginFindSuccessor ENTER");
     engine.beginFindSuccessor(queryNode.getHashedIP(), queryingNode, findSuccessorCallBack, appState, relayTicket);
 }
예제 #8
0
 public void beginFindSuccessor(IChordNode queryNode, IChordNode queryingNode, AsyncCallback findSuccessorCallBack, Object appState, Guid relayTicket)
 {
     beginFindSuccessor(queryNode.getHashedIP(), queryingNode, findSuccessorCallBack, appState, relayTicket);
 }