From a25d98d4afab8260e3dc706b6322b4c3aeb02a0c Mon Sep 17 00:00:00 2001 From: Roland Haeder Date: Sat, 15 Feb 2014 13:09:55 +0100 Subject: [PATCH] Some improvements: - renamed BaseHubDiscovery -> BaseNodeDiscovery - moved list-related code to BaseNodeDiscovery as this is more generic code - Updated interface Discoverable with a missing public method from PackageRecipientDiscovery - Other minor improvements Signed-off-by: Roland Haeder --- .../discovery/class_Discoverable.php | 20 ++++++++ ...covery.php => class_BaseNodeDiscovery.php} | 46 ++++++++++++++++++- .../dht/class_DhtRecipientDiscovery.php | 2 +- .../class_PackageRecipientDiscovery.php | 46 +------------------ .../socket/class_PackageSocketDiscovery.php | 2 +- 5 files changed, 68 insertions(+), 48 deletions(-) rename application/hub/main/discovery/{class_BaseHubDiscovery.php => class_BaseNodeDiscovery.php} (64%) diff --git a/application/hub/interfaces/discovery/class_Discoverable.php b/application/hub/interfaces/discovery/class_Discoverable.php index aa582a616..b10b10dc2 100644 --- a/application/hub/interfaces/discovery/class_Discoverable.php +++ b/application/hub/interfaces/discovery/class_Discoverable.php @@ -22,6 +22,26 @@ * along with this program. If not, see . */ interface Discoverable extends FrameworkInterface { + /** + * "Getter" for recipient iterator + * + * @return $iteratorInstance An instance of a Iterateable object + */ + function getIterator (); + + /** + * Clears all recipients for e.g. another package to deliver + * + * @return void + */ + function clearRecipients (); + + /** + * Checks whether the recipient list is empty + * + * @return $isEmpty Whether the recipient list is empty + */ + function isRecipientListEmpty (); } // [EOF] diff --git a/application/hub/main/discovery/class_BaseHubDiscovery.php b/application/hub/main/discovery/class_BaseNodeDiscovery.php similarity index 64% rename from application/hub/main/discovery/class_BaseHubDiscovery.php rename to application/hub/main/discovery/class_BaseNodeDiscovery.php index 90b53869a..a608b7b07 100644 --- a/application/hub/main/discovery/class_BaseHubDiscovery.php +++ b/application/hub/main/discovery/class_BaseNodeDiscovery.php @@ -21,7 +21,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -class BaseHubDiscovery extends BaseDiscovery implements Discoverable { +class BaseNodeDiscovery extends BaseDiscovery implements Discoverable { /** * Protected constructor * @@ -31,6 +31,13 @@ class BaseHubDiscovery extends BaseDiscovery implements Discoverable { protected function __construct ($className) { // Call parent constructor parent::__construct($className); + + /* + * Get recipients list instance and set it here for all discovery + * implementations. + */ + $listInstance = RecipientListFactory::createRecipientListInstance(); + $this->setListInstance($listInstance); } /** @@ -55,6 +62,43 @@ class BaseHubDiscovery extends BaseDiscovery implements Discoverable { // Return it return $protocolName; } + + /** + * "Getter" for recipient iterator + * + * @return$iteratorInstance An instance of a Iterateable object + */ + public final function getIterator () { + // Get iterator from it + $iteratorInstance = $this->getListInstance()->getIterator(); + + // Return it + return $iteratorInstance; + } + + /** + * Clears all recipients for e.g. another package to deliver. This method + * simply clears the inner list instance. + * + * @return void + */ + public final function clearRecipients () { + // Clear the list + $this->getListInstance()->clearList(); + } + + /** + * Checks whether the recipient list is empty + * + * @return $isEmpty Whether the recipient list is empty + */ + public final function isRecipientListEmpty () { + // Check it ... + $isEmpty = ($this->getListInstance()->count() == 0); + + // Return it + return $isEmpty; + } } // [EOF] diff --git a/application/hub/main/discovery/dht/class_DhtRecipientDiscovery.php b/application/hub/main/discovery/dht/class_DhtRecipientDiscovery.php index c9726c48a..3ca916f90 100644 --- a/application/hub/main/discovery/dht/class_DhtRecipientDiscovery.php +++ b/application/hub/main/discovery/dht/class_DhtRecipientDiscovery.php @@ -21,7 +21,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -class DhtRecipientDiscovery extends BaseHubDiscovery implements DiscoverableDhtRecipient, Registerable { +class DhtRecipientDiscovery extends BaseNodeDiscovery implements DiscoverableDhtRecipient, Registerable { /** * Protected constructor * diff --git a/application/hub/main/discovery/package/class_PackageRecipientDiscovery.php b/application/hub/main/discovery/package/class_PackageRecipientDiscovery.php index d775e9995..bfbde19d8 100644 --- a/application/hub/main/discovery/package/class_PackageRecipientDiscovery.php +++ b/application/hub/main/discovery/package/class_PackageRecipientDiscovery.php @@ -21,7 +21,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -class PackageRecipientDiscovery extends BaseHubDiscovery implements DiscoverableNodeRecipient, Registerable { +class PackageRecipientDiscovery extends BaseNodeDiscovery implements DiscoverableNodeRecipient, Registerable { /** * Protected constructor * @@ -41,13 +41,6 @@ class PackageRecipientDiscovery extends BaseHubDiscovery implements Discoverable // Get an instance of this class $discoveryInstance = new PackageRecipientDiscovery(); - // Get recipients list instance and set it - $listInstance = RecipientListFactory::createRecipientListInstance(); - $discoveryInstance->setListInstance($listInstance); - - // Output debug message - self::createDebugInstance(__CLASS__)->debugOutput('RECIPIENT-DISCOVERY[' . __LINE__ . ']: Initialized.'); - // Return the prepared instance return $discoveryInstance; } @@ -121,43 +114,6 @@ class PackageRecipientDiscovery extends BaseHubDiscovery implements Discoverable $this->getListInstance()->addEntry('ip_port', $decodedData[NetworkPackage::PACKAGE_DATA_RECIPIENT]); } } - - /** - * "Getter" for recipient iterator - * - * @return $iteratorInstance An instance of a Iterateable object - */ - public function getIterator () { - // Get iterator from it - $iteratorInstance = $this->getListInstance()->getIterator(); - - // Return it - return $iteratorInstance; - } - - /** - * Checks whether the recipient list is empty - * - * @return $isEmpty Whether the recipient list is empty - */ - public function isRecipientListEmpty () { - // Check it ... - $isEmpty = ($this->getListInstance()->count() == 0); - - // Return it - return $isEmpty; - } - - /** - * Clears all recipients for e.g. another package to deliver. This method - * simply clears the inner list instance. - * - * @return void - */ - public function clearRecipients () { - // Clear the list - $this->getListInstance()->clearList(); - } } // [EOF] diff --git a/application/hub/main/discovery/socket/class_PackageSocketDiscovery.php b/application/hub/main/discovery/socket/class_PackageSocketDiscovery.php index 1872ab64f..26972e2da 100644 --- a/application/hub/main/discovery/socket/class_PackageSocketDiscovery.php +++ b/application/hub/main/discovery/socket/class_PackageSocketDiscovery.php @@ -21,7 +21,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -class PackageSocketDiscovery extends BaseHubDiscovery implements DiscoverableSocket, Registerable { +class PackageSocketDiscovery extends BaseNodeDiscovery implements DiscoverableSocket, Registerable { /** * Protected constructor * -- 2.39.5