* @version 0.0.0 * @copyright Copyright (c) 2014 Miner Developer Team * @license GNU GPL 3.0 or any newer version * @link http://www.shipsimu.org * @todo We need to find a better name for this interface * * 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 . */ interface MinerHelper extends FrameworkInterface { /** * Method to "bootstrap" the miner. This step does also apply provided * command-line arguments stored in the request instance. You should now * get it from calling $this->getRequestInstance(). * * @return void */ function doBootstrapping (); /** * This method determines if the in-buffer is going to depleted and if so, * it fetches more WUs from the network. If no WU can be fetched from the * network and if enabled, a random test WU is being generated. * * @return void */ function doFetchWorkUnits (); /** * Outputs the console teaser. This should only be executed on startup or * full restarts. This method generates some space around the teaser. * * @return void */ function outputConsoleTeaser (); /** * Add some miner-specific filters * * @param $controllerInstance An object of a Controller instance * @param $responseInstance An object of a Responseable instance * @return void */ function addExtraFilters (Controller $controllerInstance, Responseable $responseInstance); /** * Enables/disables the miner (just sets a flag) * * @param $version Version number of this miner * @return void */ function enableIsActive ($isActive = TRUE); /** * Determines whether the miner is active * * @return $isActive Whether the miner is active */ function isActive (); /** * Initializes all buffer queues (mostly in/out) * * @return void */ function initBufferQueues (); /** * Changes the state to 'booting' and shall be called after the block * producer has been initialized. * * @param $producerInstance An instance of a BlockProducer class * @return void */ function blockProducerHasInitialized (BlockProducer $producerInstance); } // [EOF] ?>