X-Git-Url: https://git.mxchange.org/?p=hub.git;a=blobdiff_plain;f=application%2Fhub%2Fmain%2Frecipient%2Fupper%2Fclass_UpperRecipient.php;h=026c6eeaeb46bbf267d4cd918c1999a2160c573c;hp=4e4fea9606c9d5e1fe7de43bd9ec29afb7a1de9e;hb=73aff29b9bc78031853b0b8c0fe0a8e04f66ac29;hpb=efa4053fbf0eef991576c6305596a249a76ce44c diff --git a/application/hub/main/recipient/upper/class_UpperRecipient.php b/application/hub/main/recipient/upper/class_UpperRecipient.php index 4e4fea960..026c6eeae 100644 --- a/application/hub/main/recipient/upper/class_UpperRecipient.php +++ b/application/hub/main/recipient/upper/class_UpperRecipient.php @@ -2,11 +2,11 @@ /** * A Upper recipient * - * @author Roland Haeder + * @author Roland Haeder * @version 0.0.0 - * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2012 Hub Developer Team + * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2015 Hub Developer Team * @license GNU GPL 3.0 or any newer version - * @link http://www.ship-simu.org + * @link http://www.shipsimu.org * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -46,35 +46,36 @@ class UpperRecipient extends BaseRecipient implements Recipient { } /** - * Tries to resolve given recipient into session ids or ip:port combination + * Tries to resolve given recipient into session ids or Universal Node Locator * depending on implementation (hint: Template Method Pattern) * * @param $recipient Recipient to resolve (e.g. could be a virtual recipient or direct session id) * @param $listInstance An instance of a Listable class + * @param $packageData Valid package data array * @return $resolved Resolved recipient or VOID if only the set list has been filled * @throws FrameworkException Could throw different exceptions depending on implementation */ - public function resolveRecipient ($recipient, Listable $listInstance) { + public function resolveRecipient ($recipient, Listable $listInstance, array $packageData) { // Make sure the recipient is valid //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput('UPPER-RECIPIENT: recipient=' . $recipient); - assert($recipient == NetworkPackage::PACKAGE_RECIPIENT_UPPER); + assert($recipient == NetworkPackage::NETWORK_TARGET_UPPER); // Get all bootstrap nodes - foreach (explode(BaseHubSystem::BOOTSTRAP_NODES_SEPARATOR, $this->getConfigInstance()->getConfigEntry('hub_bootstrap_nodes')) as $ipPort) { + foreach (explode(BaseHubSystem::BOOTSTRAP_NODES_SEPARATOR, $this->getConfigInstance()->getConfigEntry('hub_bootstrap_nodes')) as $unlData) { // Is maximum reached? if ($listInstance->count() == $this->getConfigInstance()->getConfigEntry('package_recipient_max_count')) { // Debug message - /* DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput('RECIPIENT-RESOLVER: Going to abort at maximum of ' . $this->getConfigInstance()->getConfigEntry('package_recipient_max_count') . ' recipients!'); + /* DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput('RECIPIENT-RESOLVER[' . __METHOD__ . ':' . __LINE__ . ']: Going to abort at maximum of ' . $this->getConfigInstance()->getConfigEntry('package_recipient_max_count') . ' recipients!'); // Then stop adding more break; } // END - if // Debug message - /* DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput('RECIPIENT-RESOLVER: Adding node ' . $ipPort . ' as recipient.'); + /* DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput('RECIPIENT-RESOLVER[' . __METHOD__ . ':' . __LINE__ . ']: Adding node ' . print_r($unlData, TRUE) . ' as recipient.'); // Add the entry - $listInstance->addEntry('ip_port', $ipPort); + $listInstance->addEntry('unl', $unlData); } // END - foreach } }