<?php
+// Own namespace
+namespace Hub\Dht\;
+
+// Import application-specific stuff
+use Hub\Dht\BaseDht;
+use Hub\Dht\Distributable;
+
/**
* A ??? DHT facade class
*
namespace Hub\Dht;
// Import hub-specific stuff
+use Hub\Factory\State\Dht\DhtStateFactory;
+use Hub\Dht\Distributable;
use Hub\Generic\BaseHubSystem;
// Import framework stuff
// Own namespace
namespace Hub\Dht\Node;
-// Import hub-specific stuff
+// Import application-specific stuff
+use Hub\Dht\BaseDht;
+use Hub\Dht\Distributable;
use Hub\Generic\BaseHubSystem;
// Import framework stuff
// Get an instance of this class
$discoveryInstance = new DhtRecipientDiscovery();
- // Get a DHT instance
- $dhtInstance = DhtObjectFactory::createDhtInstance('node');
-
- // Set it here
- $discoveryInstance->setDhtInstance($dhtInstance);
-
// Return the prepared instance
return $discoveryInstance;
}
*/
public function resolveRecipientsByPackageData (array $packageData) {
// Use facade to get recipients back
- $recipients = $this->getDhtInstance()->findRecipientsByPackageData($packageData);
+ $recipients = DhtObjectFactory::createDhtInstance('node')->findRecipientsByPackageData($packageData);
// Return it
return $recipients;
}
-}
-// [EOF]
-?>
+}
// Own namespace
namespace Hub\Factory\State\Dht;
+// Import application-specific stuff
+use Hub\Dht\Distributable;
+use Hub\Factory\State\Dht\DhtStateFactory;
+
// Import framework stuff
use CoreFramework\Factory\ObjectFactory;
// For any purposes, return the state instance
return $stateInstance;
}
-}
-// [EOF]
-?>
+}
namespace Hub\Handler\Node\Announcement\Answer;
// Import application-specific stuff
+use Hub\Database\Frontend\Node\Dht\NodeDistributedHashTableDatabaseWrapper;
use Hub\Factory\Node\NodeObjectFactory;
use Hub\Network\Receive\Receivable;
use Hub\Node\BaseHubNode;
* Query DHT and force update (which will throw an exception if the
* node is not found).
*/
- $this->getDhtInstance()->registerNodeByMessageData($messageData, $this, TRUE);
+ DhtObjectFactory::createDhtInstance('node')->registerNodeByMessageData($messageData, $this, TRUE);
// Get handler instance
$handlerInstance = Registry::getRegistry()->getInstance('task_handler');
unset($messageData[XmlRequestNodeListAnswerTemplateEngine::REQUEST_DATA_NODE_LIST]);
// Write node list to DHT
- $this->getDhtInstance()->insertNodeList($nodeList);
+ DhtObjectFactory::createDhtInstance('node')->insertNodeList($nodeList);
/*
* Query DHT and force update (which will throw an exception if the
* node is not found).
*/
- $this->getDhtInstance()->registerNodeByMessageData($messageData, $this, TRUE);
+ DhtObjectFactory::createDhtInstance('node')->registerNodeByMessageData($messageData, $this, TRUE);
// Prepare next message ("hello" message to all returned nodes)
//$this->prepareNextMessage($messageData, $packageInstance);
namespace Hub\Handler\Node\Message\Announcement;
// Import application-specific stuff
+use Hub\Database\Frontend\Node\Dht\NodeDistributedHashTableDatabaseWrapper;
use Hub\Factory\Node\NodeObjectFactory;
use Hub\Generic\BaseHubSystem;
use Hub\Network\Receive\Receivable;
assert(count($this->getSearchData()) > 0);
// Let the DHT facade do the work
- $this->getDhtInstance()->registerNodeByMessageData($messageData, $this);
+ DhtObjectFactory::createDhtInstance('node')->registerNodeByMessageData($messageData, $this);
}
/**
namespace Hub\Handler\Node\Answer\Dht\Bootstrap;
// Import application-specific stuff
+use Hub\Database\Frontend\Node\Dht\NodeDistributedHashTableDatabaseWrapper;
use Hub\Factory\Dht\DhtObjectFactory;
use Hub\Factory\Node\NodeObjectFactory;
use Hub\Network\Receive\Receivable;
// Get new instance
$handlerInstance = new NodeMessageDhtBootstrapHandler();
- // Get a DHT instance
- $dhtInstance = DhtObjectFactory::createDhtInstance('node');
-
- // Set the DHT instance here
- $handlerInstance->setDhtInstance($dhtInstance);
-
// Return the prepared instance
return $handlerInstance;
}
* DHT nodes that accept bootstrap requests are read from the DHT
* database.
*/
- $nodeList = $this->getDhtInstance()->findRecipientsByKey(NodeDistributedHashTableDatabaseWrapper::DB_COLUMN_ACCEPT_BOOTSTRAP, 'Y');
+ $nodeList = DhtObjectFactory::createDhtInstance('node')->findRecipientsByKey(NodeDistributedHashTableDatabaseWrapper::DB_COLUMN_ACCEPT_BOOTSTRAP, 'Y');
// Make sure it is an array and has at least one entry
assert(is_array($nodeList));
namespace Hub\Handler\Node\Message\Request\NodeList;
// Import application-specific stuff
+use Hub\Database\Frontend\Node\Dht\NodeDistributedHashTableDatabaseWrapper;
use Hub\Factory\Node\NodeObjectFactory;
use Hub\Network\Receive\Receivable;
use Hub\Node\BaseHubNode;
} // END - foreach
// Query local DHT for nodes except given session id
- $nodeList = $this->getDhtInstance()->queryLocalNodeListExceptByMessageData(
+ $nodeList = DhtObjectFactory::createDhtInstance('node')->queryLocalNodeListExceptByMessageData(
$messageData,
$this,
XmlRequestNodeListTemplateEngine::REQUEST_DATA_SESSION_ID,
protected function __construct ($className) {
// Call parent constructor
parent::__construct($className);
-
- // Get a DHT instance
- $dhtInstance = DhtObjectFactory::createDhtInstance('node');
-
- // Set it here
- $this->setDhtInstance($dhtInstance);
}
/**
// Own namespace
namespace Hub\Helper\Dht\Bootstrap;
-// Import hub-specific stuff
+// Import application-specific stuff
+use Hub\Dht\Distributable;
use Hub\Generic\BaseHubSystem;
use Hub\Helper\BaseHubSystemHelper;
use Hub\Network\Package\NetworkPackage;
// Own namespace
namespace Hub\Helper\Dht\Publish;
-// Import hub-specific stuff
+// Import application-specific stuff
+use Hub\Dht\Distributable;
use Hub\Generic\BaseHubSystem;
use Hub\Helper\BaseHubSystemHelper;
use Hub\Network\Package\NetworkPackage;
+++ /dev/null
-Deny from all
+++ /dev/null
-<?php
-// Own namespace
-namespace Hub\Iterator\Ping;
-
-// Import framework stuff
-use CoreFramework\Iterator\BaseIterator;
-
-// Import SPL stuff
-use \Iterator;
-
-/**
- * A HubPing iterator
- *
- * @author Roland Haeder <webmaster@shipsimu.org>
- * @version 0.0.0
- * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2015 Hub Developer Team
- * @license GNU GPL 3.0 or any newer version
- * @link http://www.shipsimu.org
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-class HubPingIterator extends BaseIterator implements Iterator {
- /**
- * Protected constructor
- *
- * @return void
- */
- protected function __construct () {
- // Call parent constructor
- parent::__construct(__CLASS__);
- }
-
- /**
- * Creates an instance of this class
- *
- * @return $iteratorInstance An instance of a Iterator class
- */
- public static final function createHubPingIterator () {
- // Get new instance
- $iteratorInstance = new HubPingIterator();
-
- // Return the prepared instance
- return $iteratorInstance;
- }
-
- /**
- * Getter for current value from group or generic
- *
- * @return $current Current value in iteration
- */
- public function current () {
- // Default is null
- $current = NULL;
-
- $this->partialStub('Please implement this method.');
-
- // Return it
- return $current;
- }
-
- /**
- * Getter for key from group or generic
- *
- * @return $key Current key in iteration
- */
- public function key () {
- // Default is null
- $key = NULL;
-
- $this->partialStub('Please implement this method.');
-
- // Return it
- return $key;
- }
-
- /**
- * Advances to the next entry
- *
- * @return void
- */
- public function next () {
- $this->partialStub('Please implement this method.');
- }
-
- /**
- * Rewinds to the beginning of the iteration
- *
- * @return void
- */
- public function rewind () {
- $this->partialStub('Please implement this method.');
- }
-
- /**
- * Checks whether the current entry is valid (not at the end of the list)
- *
- * @return void
- */
- public function valid () {
- $this->partialStub('Please implement this method.');
- }
-}
-
-// [EOF]
-?>
--- /dev/null
+Deny from all
--- /dev/null
+<?php
+// Own namespace
+namespace Hub\Iterator\Node\Ping;
+
+// Import framework stuff
+use CoreFramework\Iterator\BaseIterator;
+
+// Import SPL stuff
+use \Iterator;
+
+/**
+ * A HubPing iterator
+ *
+ * @author Roland Haeder <webmaster@shipsimu.org>
+ * @version 0.0.0
+ * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2015 Hub Developer Team
+ * @license GNU GPL 3.0 or any newer version
+ * @link http://www.shipsimu.org
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+class NodePingIterator extends BaseIterator implements Iterator {
+ /**
+ * Protected constructor
+ *
+ * @return void
+ */
+ protected function __construct () {
+ // Call parent constructor
+ parent::__construct(__CLASS__);
+ }
+
+ /**
+ * Creates an instance of this class
+ *
+ * @return $iteratorInstance An instance of a Iterator class
+ */
+ public static final function createNodePingIterator () {
+ // Get new instance
+ $iteratorInstance = new NodePingIterator();
+
+ // Return the prepared instance
+ return $iteratorInstance;
+ }
+
+ /**
+ * Getter for current value from group or generic
+ *
+ * @return $current Current value in iteration
+ */
+ public function current () {
+ // Default is null
+ $current = NULL;
+
+ $this->partialStub('Please implement this method.');
+
+ // Return it
+ return $current;
+ }
+
+ /**
+ * Getter for key from group or generic
+ *
+ * @return $key Current key in iteration
+ */
+ public function key () {
+ // Default is null
+ $key = NULL;
+
+ $this->partialStub('Please implement this method.');
+
+ // Return it
+ return $key;
+ }
+
+ /**
+ * Advances to the next entry
+ *
+ * @return void
+ */
+ public function next () {
+ $this->partialStub('Please implement this method.');
+ }
+
+ /**
+ * Rewinds to the beginning of the iteration
+ *
+ * @return void
+ */
+ public function rewind () {
+ $this->partialStub('Please implement this method.');
+ }
+
+ /**
+ * Checks whether the current entry is valid (not at the end of the list)
+ *
+ * @return void
+ */
+ public function valid () {
+ $this->partialStub('Please implement this method.');
+ }
+}
+
+// [EOF]
+?>
namespace Hub\Node;
// Import hub-specific stuff
+use Hub\Database\Frontend\Node\Dht\NodeDistributedHashTableDatabaseWrapper;
use Hub\Database\Frontend\Node\Information\NodeInformationDatabaseWrapper;
use Hub\Factory\State\Node\NodeStateFactory;
use Hub\Locator\Node\LocateableNode;
// Import application-specific stuff
use Hub\Container\Socket\StorableSocket;
+use Hub\Database\Frontend\Node\Dht\NodeDistributedHashTableDatabaseWrapper;
use Hub\Factory\Assembler\Package\PackageAssemblerFactory;
use Hub\Factory\Dht\DhtObjectFactory;
use Hub\Factory\Information\Connection\ConnectionInfoFactory;
namespace Hub\Recipient\Dht;
// Import application-specific stuff
+use Hub\Database\Frontend\Node\Dht\NodeDistributedHashTableDatabaseWrapper;
use Hub\Network\Package\NetworkPackage;
// Import framework stuff
<?php
+// Own namespace
+namespace Hub\Communicator\State;
+
+// Import framework stuff
+use CoreFramework\State\BaseState;
+
/**
* A general communicator state class
*
<?php
+// Own namespace
+namespace Hub\Crawler\State;
+
+// Import framework stuff
+use CoreFramework\State\BaseState;
+
/**
* A general crawler state class
*
<?php
+// Own namespace
+namespace Hub\Cruncher\State;
+
+// Import framework stuff
+use CoreFramework\State\BaseState;
+
/**
* A general cruncher state class
*
// Own namespace
namespace Hub\State\Dht;
+// Import application-specific stuff
+use Hub\Dht\Distributable;
+
// Import framework stuff
use CoreFramework\State\Stateable;
// Debug message
//* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('DHT-STATE: Has changed from ' . $dhtInstance->getPrintableState() . ' to ' . $stateInstance->getStateName() . '.');
- // Set the dht instance
- $stateInstance->setDhtInstance($dhtInstance);
-
// Return the prepared instance
return $stateInstance;
}
-}
-// [EOF]
-?>
+}
// Own namespace
namespace Hub\State\Dht;
+// Import application-specific stuff
+use Hub\Dht\Distributable;
+
// Import application-specific stuff
use Hub\Factory\Node\NodeObjectFactory;
// Debug message
//* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('DHT-STATE: Has changed from ' . $dhtInstance->getPrintableState() . ' to ' . $stateInstance->getStateName() . '.');
- // Set the dht instance
- $stateInstance->setDhtInstance($dhtInstance);
-
// Get node instance and enable DHT bootstrap requests
NodeObjectFactory::createNodeInstance()->enableAcceptDhtBootstrap();
// Return the prepared instance
return $stateInstance;
}
-}
-// [EOF]
-?>
+}
<?php
+// Own namespace
+namespace Hub\State\Dht;
+
+// Import framework stuff
+use CoreFramework\State\BaseState;
+
/**
* A general DHT state class
*
// Own namespace
namespace Hub\State\Dht\;
+// Import application-specific stuff
+use Hub\Dht\Distributable;
+
// Import framework stuff
use CoreFramework\State\Stateable;
// Debug message
//* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('DHT-STATE: Has changed from ' . $dhtInstance->getPrintableState() . ' to ' . $stateInstance->getStateName() . '.');
- // Set the dht instance
- $stateInstance->setDhtInstance($dhtInstance);
-
// Return the prepared instance
return $stateInstance;
}
-}
-// [EOF]
-?>
+}
// Own namespace
namespace Hub\State\Dht;
+// Import application-specific stuff
+use Hub\Dht\Distributable;
+use Hub\Factory\State\Dht\DhtStateFactory;
+
// Import framework stuff
use CoreFramework\State\Stateable;
// Debug message
//* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('DHT-STATE: Has changed from ' . $dhtInstance->getPrintableState() . ' to ' . $stateInstance->getStateName() . '.');
- // Set the dht instance
- $stateInstance->setDhtInstance($dhtInstance);
-
// Return the prepared instance
return $stateInstance;
}
*/
public function dhtHasInitialized () {
// Create a new instance
- DhtStateFactory::createDhtStateInstanceByName('virgin', $this->getDhtInstance());
+ DhtStateFactory::createDhtStateInstanceByName('virgin', DhtObjectFactory::createDhtInstance('node'));
}
-}
-// [EOF]
-?>
+}
// Own namespace
namespace Hub\State\Dht;
+// Import application-specific stuff
+use Hub\Dht\Distributable;
+use Hub\Factory\State\Dht\DhtStateFactory;
+
// Import framework stuff
use CoreFramework\State\Stateable;
// Debug message
//* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('DHT-STATE: Has changed from ' . $dhtInstance->getPrintableState() . ' to ' . $stateInstance->getStateName() . '.');
- // Set the dht instance
- $stateInstance->setDhtInstance($dhtInstance);
-
// Return the prepared instance
return $stateInstance;
}
*/
public function dhtIsBooting () {
// Get new instance and set it
- DhtStateFactory::createDhtStateInstanceByName('booting', $this->getDhtInstance());
+ DhtStateFactory::createDhtStateInstanceByName('booting', DhtObjectFactory::createDhtInstance('node'));
}
-}
-// [EOF]
-?>
+}
<?php
+// Own namespace
+namespace Hub\Miner\State;
+
+// Import framework stuff
+use CoreFramework\State\BaseState;
+
/**
* A general miner state class
*
<?php
+// Own namespace
+namespace Hub\Peer\State;
+
+// Import framework stuff
+use CoreFramework\State\BaseState;
+
/**
* A general peer state class
*
// Get new instance
$taskInstance = new NodeDhtBootstrapTask();
- // Get a DHT instance
- $dhtInstance = DhtObjectFactory::createDhtInstance('node');
-
- // Set the DHT instance here
- $taskInstance->setDhtInstance($dhtInstance);
-
// Return the prepared instance
return $taskInstance;
}
*/
public function executeTask () {
// Let the DHT class do the work for us
- $this->getDhtInstance()->bootstrapDht();
+ DhtObjectFactory::createDhtInstance('node')->bootstrapDht();
}
/**
public function doShutdown () {
self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('TASK: Shutting down...');
}
-}
-// [EOF]
-?>
+}
// Get new instance
$taskInstance = new NodeDhtInitializationTask();
- // Get a DHT instance
- $dhtInstance = DhtObjectFactory::createDhtInstance('node');
-
- // Set the DHT instance here
- $taskInstance->setDhtInstance($dhtInstance);
-
// Return the prepared instance
return $taskInstance;
}
*/
public function executeTask () {
// Intiailize the DHT
- $this->getDhtInstance()->initDht();
+ DhtObjectFactory::createDhtInstance('node')->initDht();
}
/**
public function doShutdown () {
self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('TASK: Shutting down...');
}
-}
-// [EOF]
-?>
+}
// Get new instance
$taskInstance = new NodeDhtLateBootstrapTask();
- // Get a DHT instance
- $dhtInstance = DhtObjectFactory::createDhtInstance('node');
-
- // Set the DHT instance here
- $taskInstance->setDhtInstance($dhtInstance);
-
// Return the prepared instance
return $taskInstance;
}
*/
public function executeTask () {
// Let the DHT class do the work for us
- $this->getDhtInstance()->bootstrapDht();
+ DhtObjectFactory::createDhtInstance('node')->bootstrapDht();
}
/**
public function doShutdown () {
self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('TASK: Shutting down...');
}
-}
-// [EOF]
-?>
+}
// Get new instance
$taskInstance = new NodeDhtPublicationCheckTask();
- // Get a DHT instance
- $dhtInstance = DhtObjectFactory::createDhtInstance('node');
-
- // Set the DHT instance here
- $taskInstance->setDhtInstance($dhtInstance);
-
// Return the prepared instance
return $taskInstance;
}
*/
public function executeTask () {
// Get DHT instance
- $dhtInstance = $this->getDhtInstance();
+ $dhtInstance = DhtObjectFactory::createDhtInstance('node');
// Has the DHT some unpublished entries?
if (($dhtInstance->hasFullyBootstrapped()) && ($dhtInstance->hasUnpublishedEntries())) {
public function doShutdown () {
self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('TASK: Shutting down...');
}
-}
-// [EOF]
-?>
+}
// Get new instance
$taskInstance = new NodeDhtPublicationTask();
- // Get a DHT instance
- $dhtInstance = DhtObjectFactory::createDhtInstance('node');
-
- // Set the DHT instance here
- $taskInstance->setDhtInstance($dhtInstance);
-
// Return the prepared instance
return $taskInstance;
}
*/
public function executeTask () {
// Get DHT instance
- $dhtInstance = $this->getDhtInstance();
+ $dhtInstance = DhtObjectFactory::createDhtInstance('node');
// Has the DHT some entries pending publication?
if ($dhtInstance->hasEntriesPendingPublication()) {
public function doShutdown () {
self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('TASK: Shutting down...');
}
-}
-// [EOF]
-?>
+}
// Get new instance
$taskInstance = new NodeDhtQueryTask();
- // Get a DHT instance
- $dhtInstance = DhtObjectFactory::createDhtInstance('node');
-
- // Set the DHT instance here
- $taskInstance->setDhtInstance($dhtInstance);
-
// Return the prepared instance
return $taskInstance;
}
*/
public function executeTask () {
// Get DHT instance
- $dhtInstance = $this->getDhtInstance();
+ $dhtInstance = DhtObjectFactory::createDhtInstance('node');
// Are there "INSERT" node data entries?
if ($dhtInstance->ifInsertNodeDataPending()) {
public function doShutdown () {
self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('TASK: Shutting down...');
}
-}
-// [EOF]
-?>
+}
namespace Hub\Tools;
// Import application-specific stuff
+use Hub\Database\Frontend\Node\Dht\NodeDistributedHashTableDatabaseWrapper;
use Hub\Factory\Dht\DhtObjectFactory;
use Hub\Factory\Node\NodeObjectFactory;
use Hub\Generic\BaseHubSystem;
// Call parent constructor
parent::__construct(__CLASS__);
- // Get a DHT instance
- $dhtInstance = DhtObjectFactory::createDhtInstance('node');
-
- // Set it here
- $this->setDhtInstance($dhtInstance);
-
// Init salt length
$this->sessionIdLength = 32 + $this->getConfigInstance()->getConfigEntry('salt_length');
}
$recipientUniversalNodeLocator = 'invalid://invalid:invalid';
// And ask it for Universal Node Locator by given session id
- $recipient = $this->getDhtInstance()->findNodeLocalBySessionId($sessionId);
+ $recipient = DhtObjectFactory::createDhtInstance('node')->findNodeLocalBySessionId($sessionId);
//* DEBUG-DIE: */ die(__METHOD__ . ': UNFINISHED: recipient[' . gettype($recipient) . ']=' . print_r($recipient, TRUE) . ',sessionId=' . $sessionId . PHP_EOL);
// Is the recipient valid?
$selfInstance = self::getSelfInstance();
// And ask it for session id by given Universal Node Locator
- $nodeData = $selfInstance->getDhtInstance()->findNodeLocalBySessionId($sessionId);
+ $nodeData = DhtObjectFactory::createDhtInstance('node')->findNodeLocalBySessionId($sessionId);
// Make sure the node id is there
/* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('HUB-TOOLS: sessionId=' . $sessionId . ', nodeData[' . gettype($nodeData) . ']=' . print_r($nodeData, TRUE));
$selfInstance = self::getSelfInstance();
// And ask it for session id by given Universal Node Locator
- $recipient = $selfInstance->getDhtInstance()->findNodeByUniversalNodeLocator($unlInstance);
+ $recipient = DhtObjectFactory::createDhtInstance('node')->findNodeByUniversalNodeLocator($unlInstance);
die(__METHOD__.':recipient='.print_r($recipient, TRUE));
// Return result
$cfg->setConfigEntry('node_info_db_wrapper_class', 'Hub\Database\Frontend\Node\Information\NodeInformationDatabaseWrapper');
// CFG: NODE-DHT-DB-WRAPPER-CLASS
-$cfg->setConfigEntry('node_dht_db_wrapper_class', 'NodeDistributedHashTableDatabaseWrapper');
+$cfg->setConfigEntry('node_dht_db_wrapper_class', 'Hub\Database\Frontend\Node\Dht\NodeDistributedHashTableDatabaseWrapper');
// CFG: NODE-DHT-LIST-LIMIT
$cfg->setConfigEntry('node_dht_list_limit', 20);
$cfg->setConfigEntry('node_announcement_template_type', 'xml/announcement');
// CFG: NODE-ANNOUNCEMENT-STACKER-CLASS
-$cfg->setConfigEntry('node_announcement_stacker_class', 'FiLoStacker');
+$cfg->setConfigEntry('node_announcement_stacker_class', 'CoreFramework\Stacker\FiLoStacker');
// CFG: NODE-ANNOUNCEMENT-ANSWER-STACKER-CLASS
-$cfg->setConfigEntry('node_announcement_answer_stacker_class', 'FiLoStacker');
+$cfg->setConfigEntry('node_announcement_answer_stacker_class', 'CoreFramework\Stacker\FiLoStacker');
// CFG: NODE-DHT-BOOTSTRAP-STACKER-CLASS
-$cfg->setConfigEntry('node_dht_bootstrap_stacker_class', 'FiLoStacker');
+$cfg->setConfigEntry('node_dht_bootstrap_stacker_class', 'CoreFramework\Stacker\FiLoStacker');
// CFG: NODE-DHT-BOOTSTRAP-ANSWER-STACKER-CLASS
-$cfg->setConfigEntry('node_dht_bootstrap_answer_stacker_class', 'FiLoStacker');
+$cfg->setConfigEntry('node_dht_bootstrap_answer_stacker_class', 'CoreFramework\Stacker\FiLoStacker');
// CFG: NODE-REQUEST-NODE-LIST-ANSWER-STACKER-CLASS
-$cfg->setConfigEntry('node_request_node_list_answer_stacker_class', 'FiLoStacker');
+$cfg->setConfigEntry('node_request_node_list_answer_stacker_class', 'CoreFramework\Stacker\FiLoStacker');
// CFG: NODE-REQUEST-NODE-LIST-ENTRY-STACKER-CLASS
-$cfg->setConfigEntry('node_request_node_list_entry_stacker_class', 'FiLoStacker');
+$cfg->setConfigEntry('node_request_node_list_entry_stacker_class', 'CoreFramework\Stacker\FiLoStacker');
// CFG: DHT-STACKER-CLASS
-$cfg->setConfigEntry('dht_stacker_class', 'FiLoStacker');
+$cfg->setConfigEntry('dht_stacker_class', 'CoreFramework\Stacker\FiLoStacker');
// CFG: RAW-DATA-STACKER-CLASS
-$cfg->setConfigEntry('raw_data_stacker_class', 'FiLoStacker');
+$cfg->setConfigEntry('raw_data_stacker_class', 'CoreFramework\Stacker\FiLoStacker');
// CFG: MULTIPLE-MESSAGE-STACKER-CLASS
$cfg->setConfigEntry('multiple_message_stacker_class', 'CoreFramework\Stacker\FiFoStacker');
$cfg->setConfigEntry('node_request_node_list_template_type', 'xml/requests');
// CFG: NODE-SELF-CONNECT-STACKER-CLASS
-$cfg->setConfigEntry('node_self_connect_stacker_class', 'FiLoStacker');
+$cfg->setConfigEntry('node_self_connect_stacker_class', 'CoreFramework\Stacker\FiLoStacker');
// CFG: NODE-REQUEST-NODE_LIST-STACKER-CLASS
-$cfg->setConfigEntry('node_request_node_list_stacker_class', 'FiLoStacker');
+$cfg->setConfigEntry('node_request_node_list_stacker_class', 'CoreFramework\Stacker\FiLoStacker');
// CFG: NODE-OBJECT-REGISTRY-TEMPLATE-CLASS
$cfg->setConfigEntry('node_object_registry_template_class', 'XmlObjectRegistryTemplateEngine');
$cfg->setConfigEntry('node_object_registry_template_type', 'xml/object_registry');
// CFG: NODE-OBJECT-REGISTRY-STACKER-CLASS
-$cfg->setConfigEntry('node_object_registry_stacker_class', 'FiLoStacker');
+$cfg->setConfigEntry('node_object_registry_stacker_class', 'CoreFramework\Stacker\FiLoStacker');
// CFG: NODE-OBJECT-TYPE-REGISTRY-CLASS
$cfg->setConfigEntry('node_object_type_registry_class', 'ObjectTypeRegistry');
$cfg->setConfigEntry('node_package_tags_init_task_class', 'Hub\Node\Task\Initialization\Tag\NodePackageTagsInitTask');
// CFG: NODE-SELFCONNECT-TASK-CLASS
-$cfg->setConfigEntry('node_selfconnect_task_class', 'NodeSelfConnectTask');
+$cfg->setConfigEntry('node_selfconnect_task_class', 'Hub\Node\Task\SelfConnect\NodeSelfConnectTask');
// CFG: NODE-UPDATE-CHECK-TASK-CLASS
-$cfg->setConfigEntry('node_update_check_task_class', 'NodeUpdateCheckTask');
+$cfg->setConfigEntry('node_update_check_task_class', 'Hub\Node\Check\Update\NodeUpdateCheckTask');
// CFG: NODE-PING-TASK-CLASS
-$cfg->setConfigEntry('node_ping_task_class', 'NodePingTask');
+$cfg->setConfigEntry('node_ping_task_class', 'Hub\Node\Ping\NodePingTask');
// CFG: NODE-ANNOUNCEMENT-TASK-CLASS
$cfg->setConfigEntry('node_announcement_task_class', 'NodeAnnouncementTask');
$cfg->setConfigEntry('node_dht_init_task_class', 'Hub\Node\Task\Dht\Initialization\NodeDhtInitializationTask');
// CFG: NODE-DHT-BOOTSTRAP-TASK-CLASS
-$cfg->setConfigEntry('node_dht_bootstrap_task_class', 'NodeDhtBootstrapTask');
+$cfg->setConfigEntry('node_dht_bootstrap_task_class', 'Hub\Node\Task\Dht\Bootstrap\NodeDhtBootstrapTask');
// CFG: NODE-DHT-LATE-BOOTSTRAP-TASK-CLASS
$cfg->setConfigEntry('node_dht_late_bootstrap_task_class', 'NodeDhtLateBootstrapTask');
// CFG: NODE-DHT-QUERY-TASK-CLASS
-$cfg->setConfigEntry('node_dht_query_task_class', 'NodeDhtQueryTask');
+$cfg->setConfigEntry('node_dht_query_task_class', 'Hub\Node\Task\Dht\Query\NodeDhtQueryTask');
// CFG: NODE-DHT-PUBLICATION-CHECK-TASK-CLASS
-$cfg->setConfigEntry('node_dht_publication_check_task_class', 'NodeDhtPublicationCheckTask');
+$cfg->setConfigEntry('node_dht_publication_check_task_class', 'Hub\Node\Task\Dht\Check\Publication\NodeDhtPublicationCheckTask');
// CFG: NODE-DHT-PUBLICATION-TASK-CLASS
-$cfg->setConfigEntry('node_dht_publication_task_class', 'NodeDhtPublicationTask');
+$cfg->setConfigEntry('node_dht_publication_task_class', 'Hub\Node\Task\Dht\Publication\NodeDhtPublicationTask');
// CFG: TASK-NETWORK-PACKAGE-WRITER-STARTUP-DELAY
$cfg->setConfigEntry('task_network_package_writer_startup_delay', 2500);
$cfg->setConfigEntry('query_iterator_class', 'CoreFramework\Iterator\DefaultIterator');
// CFG: NODE-PING-ITERATOR-CLASS
-$cfg->setConfigEntry('node_ping_iterator_class', 'HubPingIterator');
+$cfg->setConfigEntry('node_ping_iterator_class', 'Hub\Iterator\Node\Ping\NodePingIterator');
// CFG: WEB-TEMPLATE-CLASS @OVERRIDE
$cfg->setConfigEntry('web_template_class', 'ConsoleTemplateEngine');
///////////////////////////////////////////////////////////////////////////////
// CFG: DHT-INIT-STATE-CLASS
-$cfg->setConfigEntry('dht_init_state_class', 'DhtInitState');
+$cfg->setConfigEntry('dht_init_state_class', 'Hub\State\Dht\DhtInitState');
// CFG: DHT-VIRGIN-STATE-CLASS
-$cfg->setConfigEntry('dht_virgin_state_class', 'DhtVirginState');
+$cfg->setConfigEntry('dht_virgin_state_class', 'Hub\State\Dht\DhtVirginState');
// CFG: DHT-BOOTING-STATE-CLASS
-$cfg->setConfigEntry('dht_booting_state_class', 'DhtBootingState');
+$cfg->setConfigEntry('dht_booting_state_class', 'Hub\State\Dht\DhtBootingState');
// CFG: DHT-ACTIVE-STATE-CLASS
-$cfg->setConfigEntry('dht_active_state_class', 'DhtActiveState');
+$cfg->setConfigEntry('dht_active_state_class', 'Hub\State\Dht\DhtActiveState');
///////////////////////////////////////////////////////////////////////////////
// Message answer-status handler
$cfg->setConfigEntry('cruncher_test_unit_template_extension', '.xml');
// CFG: CRUNCHER-TEST-UNIT-STACKER-CLASS
-$cfg->setConfigEntry('cruncher_test_unit_stacker_class', 'FiLoStacker');
+$cfg->setConfigEntry('cruncher_test_unit_stacker_class', 'CoreFramework\Stacker\FiLoStacker');
// CFG: CRUNCHER-TEST-UNIT-TEMPLATE-TYPE
$cfg->setConfigEntry('cruncher_test_unit_template_type', 'xml/cruncher/producer');
// Own namespace
namespace Hub\Node\Registering;
+// Import application-specific stuff
+use Hub\Database\Frontend\Node\Dht\NodeDistributedHashTableDatabaseWrapper;
+
// Import framework stuff
use CoreFramework\Generic\FrameworkException;
// Own namespace
namespace Hub\Node\Data;
+// Import application-specific stuff
+use Hub\Database\Frontend\Node\Dht\NodeDistributedHashTableDatabaseWrapper;
+
// Import framework stuff
use CoreFramework\Generic\FrameworkException;
// Own namespace
namespace Hub\Dht\Node;
+// Import application-specific stuff
+use Hub\Dht\Distributable;
+
// Import framework stuff
use CoreFramework\Handler\DataSet\HandleableDataSet;
* @return void
*/
function publishEntry ();
-}
-// [EOF]
-?>
+}
namespace Hub\Helper\Dht;
// Import application-specific stuff
+use Hub\Dht\Distributable;
use Hub\Helper\HubHelper;
/**
-Subproject commit d506014f84d8e6a76ea67ef59537fc56f5f1c364
+Subproject commit 8180df9650994694ac2db841d91b6bfa2d83d36f