]> git.mxchange.org Git - hub.git/commitdiff
Renamed method:
authorRoland Häder <roland@mxchange.org>
Wed, 13 Feb 2013 19:37:48 +0000 (19:37 +0000)
committerRoland Häder <roland@mxchange.org>
Wed, 13 Feb 2013 19:37:48 +0000 (19:37 +0000)
- Renamed method findNodeBySessionId() to findNodeLocalBySessionId() as it only
  searches in locally stored data and doesn't query other nodes
- Added final (temporary) configuration entry 'node_list' which will be a
  BASE64-encoded and serialized array

application/hub/interfaces/distributable/class_Distributable.php
application/hub/interfaces/wrapper/class_NodeDhtWrapper.php
application/hub/main/database/wrapper/node/class_NodeDistributedHashTableDatabaseWrapper.php
application/hub/main/dht/node/class_NodeDhtFacade.php
application/hub/main/handler/message-types/requests/class_NodeMessageRequestNodeListHandler.php
application/hub/main/tools/class_HubTools.php

index f620265466d7be280f2a8721522e6f170275b505..c90430f91d03ddc361aab2faf1e47cafba24ead0 100644 (file)
@@ -30,12 +30,12 @@ interface Distributable extends FrameworkInterface {
        function initDht ();
 
        /**
-        * Finds a node by given session id
+        * Finds a node locally by given session id
         *
         * @param       $sessionId      Session id to lookup
         * @return      $nodeData       Node data array
         */
-       function findNodeBySessionId ($sessionId);
+       function findNodeLocalBySessionId ($sessionId);
 
        /**
         * Registers an other node with this node by given message data. The
index 04ab69df9c6a0d00003d695cfb8dabe45dd0335f..622e864c876495ddd9fb09d8ca3424e548ec1344 100644 (file)
@@ -46,12 +46,12 @@ interface NodeDhtWrapper extends DatabaseWrapper {
        function updateLocalNode ();
 
        /**
-        * Finds a node by given session id
+        * Finds a node locally by given session id
         *
         * @param       $sessionId      Session id to lookup
         * @return      $nodeData       Node data array
         */
-       function findNodeBySessionId ($sessionId);
+       function findNodeLocalBySessionId ($sessionId);
 }
 
 // [EOF]
index 2e8cd3a5aba62e19e760e25761e7d4fae211b8a4..45208a22e952bd3a9b7563b8d75b898be64a614e 100644 (file)
@@ -180,12 +180,12 @@ class NodeDistributedHashTableDatabaseWrapper extends BaseDatabaseWrapper implem
        }
 
        /**
-        * Finds a node by given session id
+        * Finds a node locally by given session id
         *
         * @param       $sessionId      Session id to lookup
         * @return      $nodeData       Node data array
         */
-       public function findNodeBySessionId ($sessionId) {
+       public function findNodeLocalBySessionId ($sessionId) {
                // Get search criteria
                $searchInstance = ObjectFactory::createObjectByConfiguredName('search_criteria_class');
 
index 6cd1846cfa62771fb0ab038524e2bf7d585f0eb6..49434e1035f34c43ae2da27dcf7bedd8cdd13199 100644 (file)
@@ -69,17 +69,17 @@ class NodeDhtFacade extends BaseDht implements Distributable, Registerable {
        }
 
        /**
-        * Finds a node by given session id
+        * Finds a node locally by given session id
         *
         * @param       $sessionId      Session id to lookup
         * @return      $nodeData       Node data array
         */
-       public function findNodeBySessionId ($sessionId) {
+       public function findNodeLocalBySessionId ($sessionId) {
                // Default is empty data array
                $nodeData = array();
 
                // Call the wrapper to do the job and get back a result instance
-               $resultInstance = $this->getWrapperInstance()->findNodeBySessionId($sessionId);
+               $resultInstance = $this->getWrapperInstance()->findNodeLocalBySessionId($sessionId);
 
                // Is the next entry valid?
                if ($resultInstance->next()) {
index ad7636617883fb53b6784667ef079cbf0e3ce936..d865f5de60180a69a89c860516a7c0c79ee59fb8 100644 (file)
@@ -130,15 +130,17 @@ class NodeMessageRequestNodeListHandler extends BaseMessageHandler implements Ha
                        $this->getConfigInstance()->setConfigEntry($targetKey, $this->getConfigInstance()->getConfigEntry($sourceKey));
                } // END - foreach
 
+               // Query local DHT for nodes except given session id
+               $nodeList = $this->getDhtInstance()->queryLocalNodeListExceptByMessageData($messageData, $this, XmlRequestNodeListTemplateEngine::REQUEST_DATA_SESSION_ID, XmlRequestNodeListTemplateEngine::REQUEST_DATA_ACCEPTED_OBJECT_TYPES, ',');
+
+               // Set it serialized in configuration (temporarily)
+               $this->getConfigInstance()->setConfigEntry('node_list', base64_encode(serialize($nodeList)));
+
                // Translate last exception into a status code
                $statusCode = $this->getTranslatedStatusFromLastException();
 
                // Set it in configuration (temporarily)
                $this->getConfigInstance()->setConfigEntry('answer_status', $statusCode);
-
-               // Query local DHT for nodes except given session id
-               $nodeList = $this->getDhtInstance()->queryLocalNodeListExceptByMessageData($messageData, $this, XmlRequestNodeListTemplateEngine::REQUEST_DATA_SESSION_ID, XmlRequestNodeListTemplateEngine::REQUEST_DATA_ACCEPTED_OBJECT_TYPES, ',');
-               die(__METHOD__ . ':nodeList='.print_r($nodeList, true));
        }
 
        /**
index 2c8f601d11648b5c81cc142b0135ab2b09e5f231..8c7c85d5def59c7fcaec452cbda9dc125d695d84 100644 (file)
@@ -97,7 +97,7 @@ class HubTools extends BaseHubSystem {
                $recipientIpPort = 'invalid:invalid';
 
                // And ask it for ip:port by given session id
-               $recipient = $this->getDhtInstance()->findNodeBySessionId($sessionId);
+               $recipient = $this->getDhtInstance()->findNodeLocalBySessionId($sessionId);
 
                // Is the recipient valid?
                if ((isset($recipient[NodeDistributedHashTableDatabaseWrapper::DB_COLUMN_EXTERNAL_IP])) && (isset($recipient[NodeDistributedHashTableDatabaseWrapper::DB_COLUMN_LISTEN_PORT]))) {