]> git.mxchange.org Git - hub.git/blobdiff - application/hub/main/recipient/dht/class_DhtRecipient.php
Very basic implementation for adding "discovered" DHT recipients as package recipients.
[hub.git] / application / hub / main / recipient / dht / class_DhtRecipient.php
index 58266fd07ce816e9c76452d6715131385bea7065..256fbb9a2cc0dcef52fedefc632ded867c5f7b2b 100644 (file)
@@ -56,7 +56,6 @@ class DhtRecipient extends BaseRecipient implements Recipient {
         * @param       $packageData    Valid package data array
         * @return      void
         * @throws      FrameworkException      Could throw different exceptions depending on implementation
-        * @todo        30% done
         */
        public function resolveRecipient ($recipient, Listable $listInstance, array $packageData) {
                // Make sure the recipient is valid
@@ -69,7 +68,18 @@ class DhtRecipient extends BaseRecipient implements Recipient {
                // "Discover" recipients by given package data
                $recipients = $discoverInstance->resolveRecipientsByPackageData($packageData);
 
-               $this->partialStub('Please implement this method. recipient=' . $recipient . ',recipients=' . print_r($recipients, TRUE));
+               // Now "walk" through all elements and add them to the list
+               foreach ($recipients as $recipient) {
+                       // These array elements must exist for this loop:
+                       assert(isset($recipient[NodeDistributedHashTableDatabaseWrapper::DB_COLUMN_EXTERNAL_IP]));
+                       assert(isset($recipient[NodeDistributedHashTableDatabaseWrapper::DB_COLUMN_LISTEN_PORT]));
+
+                       // Put ip and port both together
+                       $ipPort = $recipient[NodeDistributedHashTableDatabaseWrapper::DB_COLUMN_EXTERNAL_IP] . ':' . $recipient[NodeDistributedHashTableDatabaseWrapper::DB_COLUMN_LISTEN_PORT];
+
+                       // Add it to the list
+                       $listInstance->addEntry('ip_port', $ipPort);
+               } // END - foreach
        }
 }