+
+ // Debug message
+ /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput('REQUEST-HANDLER[' . __LINE__ . ']: Got a node list of ' . count($nodeList) . ' entry/-ies back.');
+
+ // 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,
+ BaseHubNode::OBJECT_LIST_SEPARATOR
+ );
+
+ // 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);
+ }
+
+ /**
+ * Removes configuration data with given message data array from global
+ * configuration
+ *
+ * @param $messageData An array with all message data
+ * @return void
+ */
+ protected function removeMessageConfigurationData (array $messageData) {
+ // "Walk" throught the config-copy array again
+ foreach ($this->configCopy as $configKey => $dummy) {
+ // Now unset this configuration entry (to save some memory again)
+ $this->getConfigInstance()->unsetConfigEntry($configKey);
+ } // END - foreach
+
+ // Remove answer status/node list as well
+ $this->getConfigInstance()->unsetConfigEntry('answer_status');
+ $this->getConfigInstance()->unsetConfigEntry('node_list');