X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=application%2Fhub%2Fmain%2Fdatabase%2Fwrapper%2Fnode%2Fclass_NodeDistributedHashTableDatabaseWrapper.php;h=55f182f7f50683a7fb901dbf42e854e25f544e89;hb=a801851ff0df99b76f42bd918b52826c77f6b4db;hp=dc494d5bc59fe78c3d84ffbe2417dbd50987f508;hpb=fab88735d3d4f2b3a979c6a6a5dd3cd8eb5f733c;p=hub.git diff --git a/application/hub/main/database/wrapper/node/class_NodeDistributedHashTableDatabaseWrapper.php b/application/hub/main/database/wrapper/node/class_NodeDistributedHashTableDatabaseWrapper.php index dc494d5bc..55f182f7f 100644 --- a/application/hub/main/database/wrapper/node/class_NodeDistributedHashTableDatabaseWrapper.php +++ b/application/hub/main/database/wrapper/node/class_NodeDistributedHashTableDatabaseWrapper.php @@ -32,7 +32,8 @@ class NodeDistributedHashTableDatabaseWrapper extends BaseDatabaseWrapper implem const DB_COLUMN_LISTEN_PORT = 'listen_port'; const DB_COLUMN_PRIVATE_KEY = 'private_key'; const DB_COLUMN_PRIVATE_KEY_HASH = 'private_key_hash'; - const DB_COLUMN_NODE_TYPE = 'node_type'; + const DB_COLUMN_NODE_MODE = 'node_mode'; + const DB_COLUMN_ACCEPTED_OBJECTS = 'accepted_object_types'; /** * Protected constructor @@ -84,13 +85,17 @@ class NodeDistributedHashTableDatabaseWrapper extends BaseDatabaseWrapper implem // Make sure both is valid assert(($ipPort[0] !== 'invalid') && ($ipPort[1] !== 'invalid')); + // Get an array of all accepted object types + $objectList = $nodeInstance->getListFromAcceptedObjectTypes(); + // Add public node data - $dataSetInstance->addCriteria(self::DB_COLUMN_NODE_TYPE , $requestInstance->getRequestElement('mode')); + $dataSetInstance->addCriteria(self::DB_COLUMN_NODE_MODE , $requestInstance->getRequestElement('mode')); $dataSetInstance->addCriteria(self::DB_COLUMN_EXTERNAL_IP , $ipPort[0]); $dataSetInstance->addCriteria(self::DB_COLUMN_LISTEN_PORT , $ipPort[1]); $dataSetInstance->addCriteria(self::DB_COLUMN_NODE_ID , $nodeInstance->getNodeId()); $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)); // Return it return $dataSetInstance; @@ -218,6 +223,9 @@ class NodeDistributedHashTableDatabaseWrapper extends BaseDatabaseWrapper implem // Add all array elements $handlerInstance->addArrayToDataSet($dataSetInstance, $messageData); + // Remove 'node_list' + $dataSetInstance->unsetCriteria('node_list'); + // Run the "INSERT" query $this->queryInsertDataSet($dataSetInstance); } @@ -243,6 +251,9 @@ class NodeDistributedHashTableDatabaseWrapper extends BaseDatabaseWrapper implem // Add all array elements $handlerInstance->addArrayToDataSet($dataSetInstance, $messageData); + // Remove 'node_list' + $dataSetInstance->unsetCriteria('node_list'); + // Run the "UPDATE" query $this->queryUpdateDataSet($dataSetInstance); }