* @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
// "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
}
}