From c57682d8462527d5cc6064e03dd205c3ed0d8b95 Mon Sep 17 00:00:00 2001 From: Roland Haeder Date: Thu, 20 Mar 2014 21:36:54 +0100 Subject: [PATCH] Introduced enableAcceptDhtBootstrap() + updated core. Signed-off-by: Roland Haeder --- .../interfaces/distributable/class_Distributable.php | 7 +++++++ .../hub/interfaces/wrapper/class_NodeDhtWrapper.php | 7 +++++++ .../hub/main/database/wrapper/states/.htaccess | 1 - application/hub/main/dht/class_BaseDht.php | 12 ++++++++++++ .../main/states/dht/virgin/class_DhtVirginState.php | 3 +++ application/hub/main/{database => wrapper}/.htaccess | 0 .../{database/wrapper => wrapper/cruncher}/.htaccess | 0 .../cruncher/class_CruncherUnitDatabaseWrapper.php | 0 .../wrapper/cruncher => wrapper/node}/.htaccess | 0 ...class_NodeDistributedHashTableDatabaseWrapper.php | 11 +++++++++++ .../node/class_NodeInformationDatabaseWrapper.php | 0 .../wrapper/node/class_NodeListDatabaseWrapper.php | 0 .../wrapper/node => wrapper/states}/.htaccess | 0 .../states/class_PeerStateLookupDatabaseWrapper.php | 0 core | 2 +- 15 files changed, 41 insertions(+), 2 deletions(-) delete mode 100644 application/hub/main/database/wrapper/states/.htaccess rename application/hub/main/{database => wrapper}/.htaccess (100%) rename application/hub/main/{database/wrapper => wrapper/cruncher}/.htaccess (100%) rename application/hub/main/{database => }/wrapper/cruncher/class_CruncherUnitDatabaseWrapper.php (100%) rename application/hub/main/{database/wrapper/cruncher => wrapper/node}/.htaccess (100%) rename application/hub/main/{database => }/wrapper/node/class_NodeDistributedHashTableDatabaseWrapper.php (98%) rename application/hub/main/{database => }/wrapper/node/class_NodeInformationDatabaseWrapper.php (100%) rename application/hub/main/{database => }/wrapper/node/class_NodeListDatabaseWrapper.php (100%) rename application/hub/main/{database/wrapper/node => wrapper/states}/.htaccess (100%) rename application/hub/main/{database => }/wrapper/states/class_PeerStateLookupDatabaseWrapper.php (100%) diff --git a/application/hub/interfaces/distributable/class_Distributable.php b/application/hub/interfaces/distributable/class_Distributable.php index 0743d683e..4ed84d86a 100644 --- a/application/hub/interfaces/distributable/class_Distributable.php +++ b/application/hub/interfaces/distributable/class_Distributable.php @@ -106,6 +106,13 @@ interface Distributable extends FrameworkInterface { * @return $recipientList Array with DHT recipients from given key/value pair */ function findRecipientsByKey ($key, $value); + + /** + * Enable DHT bootstrap request acceptance for local node + * + * @return void + */ + function enableAcceptDhtBootstrap (); } // [EOF] diff --git a/application/hub/interfaces/wrapper/class_NodeDhtWrapper.php b/application/hub/interfaces/wrapper/class_NodeDhtWrapper.php index b962cc9de..9b8ba7a8d 100644 --- a/application/hub/interfaces/wrapper/class_NodeDhtWrapper.php +++ b/application/hub/interfaces/wrapper/class_NodeDhtWrapper.php @@ -158,6 +158,13 @@ interface NodeDhtWrapper extends DatabaseWrapper { * @return $recipients An indexed array with DHT recipients */ function getResultFromKeyValue ($key, $value); + + /** + * Enable DHT bootstrap request acceptance for local node + * + * @return void + */ + function enableAcceptDhtBootstrap (); } // [EOF] diff --git a/application/hub/main/database/wrapper/states/.htaccess b/application/hub/main/database/wrapper/states/.htaccess deleted file mode 100644 index 3a4288278..000000000 --- a/application/hub/main/database/wrapper/states/.htaccess +++ /dev/null @@ -1 +0,0 @@ -Deny from all diff --git a/application/hub/main/dht/class_BaseDht.php b/application/hub/main/dht/class_BaseDht.php index 7a667811a..64dda6e47 100644 --- a/application/hub/main/dht/class_BaseDht.php +++ b/application/hub/main/dht/class_BaseDht.php @@ -246,6 +246,18 @@ abstract class BaseDht extends BaseHubSystem implements Distributable { */ public function hasFullyBootstrapped () { // Get state and check it + $this->partialStub('Please implement this method.'); + } + + /** + * Enable DHT bootstrap request acceptance for local node + * + * @return void + * @todo Switch flag 'accept_bootstrap' + */ + public function enableAcceptDhtBootstrap () { + // Call method on database wrapper + $this->getWrapperInstance()->enableAcceptDhtBootstrap(); } } diff --git a/application/hub/main/states/dht/virgin/class_DhtVirginState.php b/application/hub/main/states/dht/virgin/class_DhtVirginState.php index 838bc570d..69882f367 100644 --- a/application/hub/main/states/dht/virgin/class_DhtVirginState.php +++ b/application/hub/main/states/dht/virgin/class_DhtVirginState.php @@ -54,6 +54,9 @@ class DhtVirginState extends BaseDhtState implements Stateable { // Get node instance and enable DHT bootstrap requests NodeObjectFactory::createNodeInstance()->enableAcceptDhtBootstrap(); + // Update DHT node info as well + $dhtInstance->enableAcceptDhtBootstrap(); + // Return the prepared instance return $stateInstance; } diff --git a/application/hub/main/database/.htaccess b/application/hub/main/wrapper/.htaccess similarity index 100% rename from application/hub/main/database/.htaccess rename to application/hub/main/wrapper/.htaccess diff --git a/application/hub/main/database/wrapper/.htaccess b/application/hub/main/wrapper/cruncher/.htaccess similarity index 100% rename from application/hub/main/database/wrapper/.htaccess rename to application/hub/main/wrapper/cruncher/.htaccess diff --git a/application/hub/main/database/wrapper/cruncher/class_CruncherUnitDatabaseWrapper.php b/application/hub/main/wrapper/cruncher/class_CruncherUnitDatabaseWrapper.php similarity index 100% rename from application/hub/main/database/wrapper/cruncher/class_CruncherUnitDatabaseWrapper.php rename to application/hub/main/wrapper/cruncher/class_CruncherUnitDatabaseWrapper.php diff --git a/application/hub/main/database/wrapper/cruncher/.htaccess b/application/hub/main/wrapper/node/.htaccess similarity index 100% rename from application/hub/main/database/wrapper/cruncher/.htaccess rename to application/hub/main/wrapper/node/.htaccess diff --git a/application/hub/main/database/wrapper/node/class_NodeDistributedHashTableDatabaseWrapper.php b/application/hub/main/wrapper/node/class_NodeDistributedHashTableDatabaseWrapper.php similarity index 98% rename from application/hub/main/database/wrapper/node/class_NodeDistributedHashTableDatabaseWrapper.php rename to application/hub/main/wrapper/node/class_NodeDistributedHashTableDatabaseWrapper.php index 08c8a7716..1dd336996 100644 --- a/application/hub/main/database/wrapper/node/class_NodeDistributedHashTableDatabaseWrapper.php +++ b/application/hub/main/wrapper/node/class_NodeDistributedHashTableDatabaseWrapper.php @@ -166,6 +166,7 @@ class NodeDistributedHashTableDatabaseWrapper extends BaseDatabaseWrapper implem $dataSetInstance->addCriteria(self::DB_COLUMN_SESSION_ID , $nodeInstance->getSessionId()); $dataSetInstance->addCriteria(self::DB_COLUMN_PRIVATE_KEY_HASH, $nodeInstance->getPrivateKeyHash()); $dataSetInstance->addCriteria(self::DB_COLUMN_ACCEPTED_OBJECTS, implode(BaseHubNode::OBJECT_LIST_SEPARATOR, $objectList)); + $dataSetInstance->addCriteria(self::DB_COLUMN_ACCEPT_BOOTSTRAP, $this->translateBooleanToYesNo($nodeInstance->isAcceptingDhtBootstrap())); // Return it return $dataSetInstance; @@ -563,6 +564,16 @@ class NodeDistributedHashTableDatabaseWrapper extends BaseDatabaseWrapper implem // Return result instance return $resultInstance; } + + /** + * Enable DHT bootstrap request acceptance for local node + * + * @return void + */ + public function enableAcceptDhtBootstrap () { + // Just update our record + $this->updateLocalNode(); + } } // [EOF] diff --git a/application/hub/main/database/wrapper/node/class_NodeInformationDatabaseWrapper.php b/application/hub/main/wrapper/node/class_NodeInformationDatabaseWrapper.php similarity index 100% rename from application/hub/main/database/wrapper/node/class_NodeInformationDatabaseWrapper.php rename to application/hub/main/wrapper/node/class_NodeInformationDatabaseWrapper.php diff --git a/application/hub/main/database/wrapper/node/class_NodeListDatabaseWrapper.php b/application/hub/main/wrapper/node/class_NodeListDatabaseWrapper.php similarity index 100% rename from application/hub/main/database/wrapper/node/class_NodeListDatabaseWrapper.php rename to application/hub/main/wrapper/node/class_NodeListDatabaseWrapper.php diff --git a/application/hub/main/database/wrapper/node/.htaccess b/application/hub/main/wrapper/states/.htaccess similarity index 100% rename from application/hub/main/database/wrapper/node/.htaccess rename to application/hub/main/wrapper/states/.htaccess diff --git a/application/hub/main/database/wrapper/states/class_PeerStateLookupDatabaseWrapper.php b/application/hub/main/wrapper/states/class_PeerStateLookupDatabaseWrapper.php similarity index 100% rename from application/hub/main/database/wrapper/states/class_PeerStateLookupDatabaseWrapper.php rename to application/hub/main/wrapper/states/class_PeerStateLookupDatabaseWrapper.php diff --git a/core b/core index 932873c41..fa613fa89 160000 --- a/core +++ b/core @@ -1 +1 @@ -Subproject commit 932873c41ad866ed0745ceb78e8c9323ada0c31b +Subproject commit fa613fa892ae8ba73305814719f5b09bd27e64a8 -- 2.39.5