* @version 0.0.0 * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2016 Core Developer Team * @license GNU GPL 3.0 or any newer version * @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 * 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 Listenable extends FrameworkInterface { /** * Initializes the listener by setting up the required socket server * * @return void */ function initListener(); /** * "Listens" for incoming network packages * * @return void */ function doListen(); /** * Checks whether the listener would accept the given package data array * * @param $packageData Raw package data * @return $accepts Whether this listener does accept */ function ifListenerAcceptsPackageData (array $packageData); /** * Monitors incoming raw data from the handler and transfers it to the * given receiver instance. * * @return void */ function monitorIncomingRawData (); /** * Getter for listen address * * @return $listenAddress The address this listener should listen on */ function getListenAddress (); /** * Getter for listen port * * @return $listenPort The port this listener should listen on */ function getListenPort (); /** * Getter for connection type * * @return $connectionType Connection type for this listener */ function getConnectionType (); /** * Getter for peer pool instance * * @return $poolInstance The peer pool instance we shall set */ function getPoolInstance (); }