From 458bd569b366c63238d1bcb75c0b25b7c9e47848 Mon Sep 17 00:00:00 2001 From: Roland Haeder Date: Sun, 24 May 2015 20:29:50 +0200 Subject: [PATCH] No, post-handling is the right one, not post-processing ... Signed-off-by: Roland Haeder --- application/hub/config.php | 3 - .../message-types/class_HandleableMessage.php | 9 ++ .../chain/class_PackageFilterChainFactory.php | 3 - application/hub/main/filter/package/.htaccess | 1 - .../class_PackageHashToMinerFilter.php | 95 ------------------- .../class_BaseMessageHandler.php | 18 ++++ .../hub/main/package/class_NetworkPackage.php | 3 + 7 files changed, 30 insertions(+), 102 deletions(-) delete mode 100644 application/hub/main/filter/package/.htaccess delete mode 100644 application/hub/main/filter/package/class_PackageHashToMinerFilter.php diff --git a/application/hub/config.php b/application/hub/config.php index 67a519506..c46459859 100644 --- a/application/hub/config.php +++ b/application/hub/config.php @@ -204,9 +204,6 @@ $cfg->setConfigEntry('package_tag_request_node_list_answer_filter', 'PackageRequ // CFG: PACKAGE-TAG-DHT-BOOTSTRAP-FILTER $cfg->setConfigEntry('package_tag_dht_bootstrap_filter', 'PackageDhtBootstrapTagFilter'); -// CFG: PACKAGE-HASH-TO-MINER-FILTER -$cfg->setConfigEntry('package_hash_to_miner_filter', 'PackageHashToMinerFilter'); - // CFG: MESSAGE-TYPE-ANNOUNCEMENT-HANDLER-CLASS $cfg->setConfigEntry('message_type_announcement_handler_class', 'NodeMessageAnnouncementHandler'); diff --git a/application/hub/interfaces/handler/message-types/class_HandleableMessage.php b/application/hub/interfaces/handler/message-types/class_HandleableMessage.php index befe36d10..2f7621985 100644 --- a/application/hub/interfaces/handler/message-types/class_HandleableMessage.php +++ b/application/hub/interfaces/handler/message-types/class_HandleableMessage.php @@ -30,6 +30,15 @@ interface HandleableMessage extends HandleableDataSet { * @return void */ function handleMessageData (array $messageData, Receivable $packageInstance); + + /** + * Posty-handles data array of the message + * + * @param $messageData An array with message data to handle + * @param $packageInstance An instance of a Receivable class + * @return void + */ + function postHandleMessageData (array $messageData, Receivable $packageInstance); } // [EOF] diff --git a/application/hub/main/factories/chain/class_PackageFilterChainFactory.php b/application/hub/main/factories/chain/class_PackageFilterChainFactory.php index e07b77126..0a70fe232 100644 --- a/application/hub/main/factories/chain/class_PackageFilterChainFactory.php +++ b/application/hub/main/factories/chain/class_PackageFilterChainFactory.php @@ -64,9 +64,6 @@ class PackageFilterChainFactory extends ObjectFactory { $chainInstance->addFilter($filterInstance); } // END - foreach - // Add filter for handling hash to miner queue - $filterInstance = self::createObjectByConfiguredName('package_hash_to_miner_filter'); - // Add this post-filter to the chain $chainInstance->addPostFilter($filterInstance); diff --git a/application/hub/main/filter/package/.htaccess b/application/hub/main/filter/package/.htaccess deleted file mode 100644 index 3a4288278..000000000 --- a/application/hub/main/filter/package/.htaccess +++ /dev/null @@ -1 +0,0 @@ -Deny from all diff --git a/application/hub/main/filter/package/class_PackageHashToMinerFilter.php b/application/hub/main/filter/package/class_PackageHashToMinerFilter.php deleted file mode 100644 index 12e724f7e..000000000 --- a/application/hub/main/filter/package/class_PackageHashToMinerFilter.php +++ /dev/null @@ -1,95 +0,0 @@ - - * @version 0.0.0 - * @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 - * - * 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 - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -class PackageHashToMinerFilter extends BaseHubFilter implements FilterablePackage { - /** - * Protected constructor - * - * @return void - */ - protected function __construct () { - // Call parent constructor - parent::__construct(__CLASS__); - } - - /** - * Creates an instance of this filter class - * - * @return $filterInstance An instance of this filter class - */ - public final static function createPackageHashToMinerFilter () { - // Get a new instance - $filterInstance = new PackageHashToMinerFilter(); - - // Return the instance - return $filterInstance; - } - - /** - * Executes the filter with given request and response objects - * - * @param $requestInstance An instance of a class with an Requestable interface - * @param $responseInstance An instance of a class with an Responseable interface - * @return void - * @throws UnsupportedOperationException If this method is called, please use processMessage() instead! - */ - public function execute (Requestable $requestInstance, Responseable $responseInstance) { - // Please don't call this method - throw new UnsupportedOperationException(array($this, __FUNCTION__), self::EXCEPTION_UNSPPORTED_OPERATION); - } - - /** - * Processes the given raw message content. - * - * @param $messageData Raw message data array - * @param $packageInstance An instance of a Receivable class - * @return void - * @throws UnsupportedOperationException If this method is called, please use processMessage() instead! - */ - public function processMessage (array $messageData, Receivable $packageInstance) { - // Please don't call this method - throw new UnsupportedOperationException(array($this, __FUNCTION__), self::EXCEPTION_UNSPPORTED_OPERATION); - } - - /** - * Post-processes the given raw message content. The method renderXmlContent - * may throw (not the method itself) several exceptions: - * - * @param $packageInstance An instance of a Receivable class - * @return void - */ - public function postProcessMessage (Receivable $packageInstance) { - // Get current entry from stack - $messageData = $packageInstance->getStackInstance()->getNamed(NetworkPackage::STACKER_NAME_PROCESSED_MESSAGE); - - /* - * Feed hash to miner by handling over the whole array as also the - * sender and tags are needed. - */ - $packageInstance->feedHashToMiner($messageData); - } -} - -// [EOF] -?> diff --git a/application/hub/main/handler/message-types/class_BaseMessageHandler.php b/application/hub/main/handler/message-types/class_BaseMessageHandler.php index d04acc1f7..2eff41a6b 100644 --- a/application/hub/main/handler/message-types/class_BaseMessageHandler.php +++ b/application/hub/main/handler/message-types/class_BaseMessageHandler.php @@ -71,6 +71,24 @@ abstract class BaseMessageHandler extends BaseDataHandler { // Let the DHT facade do the work $this->getDhtInstance()->registerNodeByMessageData($messageData, $this); } + + /** + * Posty-handles data array of the message + * + * @param $messageData An array with message data to handle + * @param $packageInstance An instance of a Receivable class + * @return void + */ + public function postHandleMessageData (array $messageData, Receivable $packageInstance) { + // Get current entry from stack + $messageData = $packageInstance->getStackInstance()->getNamed(NetworkPackage::STACKER_NAME_PROCESSED_MESSAGE); + + /* + * Feed hash to miner by handling over the whole array as also the + * sender and tags are needed. + */ + $packageInstance->feedHashToMiner($messageData); + } } // [EOF] diff --git a/application/hub/main/package/class_NetworkPackage.php b/application/hub/main/package/class_NetworkPackage.php index 2dd319785..804fb695e 100644 --- a/application/hub/main/package/class_NetworkPackage.php +++ b/application/hub/main/package/class_NetworkPackage.php @@ -1398,6 +1398,9 @@ class NetworkPackage extends BaseHubSystem implements Deliverable, Receivable, R // Handle message data $handlerInstance->handleMessageData($messageArray[self::MESSAGE_ARRAY_DATA], $this); + + // Post-handling of message data + $handlerInstance->postHandleMessageData($messageArray, $this); } /** -- 2.39.5