]> git.mxchange.org Git - hub.git/blobdiff - application/hub/main/database/wrapper/node/class_NodeDistributedHashTableDatabaseWrapper.php
Continued with hub development:
[hub.git] / application / hub / main / database / wrapper / node / class_NodeDistributedHashTableDatabaseWrapper.php
index c86ec861be38edcc77ec6626e250e4ad5c302cb6..a51fc2cb18258e5fa6139dd5111f39e23654cfb7 100644 (file)
@@ -507,6 +507,29 @@ class NodeDistributedHashTableDatabaseWrapper extends BaseDatabaseWrapper implem
                // Return cleaned data
                return $data;
        }
+
+       /**
+        * Find recipients for given package data and exclude the sender
+        *
+        * @param       $packageData    An array of valid package data
+        * @return      $recipients             An indexed array with DHT recipients
+        */
+       public function getResultFromExcludedSender (array $packageData) {
+               // Assert on required array field
+               assert(isset($packageData[NetworkPackage::PACKAGE_DATA_SENDER]));
+
+               // First creata a search instance
+               $searchInstance = ObjectFactory::createObjectByConfiguredName('search_criteria_class');
+
+               // Then exclude 'sender' field as the sender is the current (*this*) node
+               $searchInstance->addExcludeCriteria(NodeDistributedHashTableDatabaseWrapper::DB_COLUMN_SESSION_ID, $packageData[NetworkPackage::PACKAGE_DATA_SENDER]);
+
+               // Get a result instance back from DHT database wrapper.
+               $resultInstance = $this->doSelectByCriteria($searchInstance);
+
+               // Return result instance
+               return $resultInstance;
+       }
 }
 
 // [EOF]