// Import hub-specific stuff
use Hub\Generic\BaseHubSystem;
use Hub\Helper\Connection\BaseConnectionHelper;
+use Hub\Pool\Poolable;
// Import framework stuff
use CoreFramework\Factory\ObjectFactory;
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-class BasePool extends BaseHubSystem implements Visitable {
+abstract class BasePool extends BaseHubSystem implements Poolable, Visitable {
/**
* Socket array elements
*/
// Return result
return $isValid;
}
+
+ /**
+ * Run the pre-shutdown seqeuence by a visitor pattern
+ *
+ * @return void
+ */
+ public function preShutdown () {
+ // Debug message
+ /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('POOL[' . __METHOD__ . ':' . __LINE__ . ']: Shutting down listener pool - CALLED!');
+
+ // Get a new visitor
+ $visitorInstance = ObjectFactory::createObjectByConfiguredName('shutdown_listener_pool_visitor_class');
+
+ // Start visiting
+ $this->accept($visitorInstance);
+
+ // Debug message
+ /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('POOL[' . __METHOD__ . ':' . __LINE__ . ']: Shutting down listener pool - EXIT!');
+ }
+
}
);
}
- /**
- * Run the pre-shutdown seqeuence by a visitor pattern
- *
- * @return void
- */
- public function preShutdown () {
- // Debug message
- /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('POOL[' . __METHOD__ . ':' . __LINE__ . ']: Shutting down listener pool - CALLED!');
-
- // Get a new visitor
- $visitorInstance = ObjectFactory::createObjectByConfiguredName('shutdown_listener_pool_visitor_class');
-
- // Start visiting
- $this->accept($visitorInstance);
-
- // Debug message
- /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('POOL[' . __METHOD__ . ':' . __LINE__ . ']: Shutting down listener pool - EXIT!');
- }
}
-
-// [EOF]
-?>