use Hub\Listener\BaseListener;
use Hub\Listener\Listenable;
use Hub\Network\Deliver\Deliverable;
+use Hub\Network\Package\Fragment\Fragmentable;
use Hub\Network\Receive\Receivable;
use Hub\Pool\Poolable;
namespace Hub\Decoder;
// Import application-specific stuff
+use Hub\Handler\Network\RawData\Chunks\ChunkHandler;
use Hub\Network\Package\NetworkPackage;
// Import framework stuff
// Own namespace
namespace Hub\Factory\Decoder;
+// Import application-specific stuff
+use Hub\Handler\Network\RawData\Chunks\ChunkHandler;
+
// Import framework stuff
use CoreFramework\Factory\ObjectFactory;
use CoreFramework\Registry\Registry;
<?php
// Own namespace
-namespace Hub\Handler\Chunk;
+namespace Hub\Handler\Network\RawData\Chunks;
// Import application-specific stuff
use Hub\Factory\Fragmenter\FragmenterFactory;
+use Hub\Network\Package\Fragment\PackageFragmenter;
// Import framework stuff
use CoreFramework\Factory\ObjectFactory;
+use CoreFramework\Handler\BaseHandler;
use CoreFramework\Registry\Registerable;
/**
use Hub\Locator\Node\LocateableNode;
use Hub\Tools\HubTools;
+// Import framework stuff
+use CoreFramework\Handler\BaseHandler;
+
/**
* A general handler for protocols such as TCP, UDP and others.
*
// Import hub-specific stuff
use Hub\Container\Socket\StorableSocket;
+use Hub\Factory\Handler\Chunk\ChunkHandlerFactory;
use Hub\Generic\BaseHubSystem;
use Hub\Handler\Network\RawData\BaseRawDataHandler;
+use Hub\Network\Package\Fragment\PackageFragmenter;
use Hub\Network\Package\NetworkPackage;
use Hub\Network\Receive\Receivable;
use Hub\Information\ShareableInfo;
use Hub\Network\Deliver\Deliverable;
use Hub\Network\Networkable;
+use Hub\Network\Package\Fragment\PackageFragmenter;
use Hub\Network\Receive\Receivable;
use Hub\Tools\HubTools;
namespace Hub\Task\AptProxy\;
// Import framework stuff
+use CoreFramework\Task\BaseTask;
+use CoreFramework\Task\Taskable;
use CoreFramework\Visitor\Visitable;
use CoreFramework\Visitor\Visitor;
namespace Hub\AptProxy\Task\Listener;
// Import framework stuff
+use CoreFramework\Task\BaseTask;
use CoreFramework\Task\Taskable;
use CoreFramework\Visitor\Visitable;
use CoreFramework\Visitor\Visitor;
namespace Hub\Task\Chat\;
// Import framework stuff
+use CoreFramework\Task\BaseTask;
+use CoreFramework\Task\Taskable;
use CoreFramework\Visitor\Visitable;
use CoreFramework\Visitor\Visitor;
namespace Hub\Chat\Task\Listener\Telnet;
// Import framework stuff
+use CoreFramework\Task\BaseTask;
use CoreFramework\Task\Taskable;
use CoreFramework\Visitor\Visitable;
use CoreFramework\Visitor\Visitor;
// Import application-specific stuff
use Hub\Source\Url\UrlSourceObjectFactory;
+// Import framework stuff
+use CoreFramework\Task\BaseTask;
+
/**
* A general URL source Task
*
namespace Hub\Task\Crawler\;
// Import framework stuff
+use CoreFramework\Task\BaseTask;
+use CoreFramework\Task\Taskable;
use CoreFramework\Visitor\Visitable;
use CoreFramework\Visitor\Visitor;
// Import framework stuff
use CoreFramework\Registry\Registry;
+use CoreFramework\Task\BaseTask;
use CoreFramework\Task\Taskable;
use CoreFramework\Visitor\Visitable;
use CoreFramework\Visitor\Visitor;
namespace Hub\Crawler\Parser\Document;
// Import framework stuff
+use CoreFramework\Task\BaseTask;
use CoreFramework\Task\Taskable;
use CoreFramework\Visitor\Visitable;
use CoreFramework\Visitor\Visitor;
namespace Hub\Crawler\Sniffer\Mime;
// Import framework stuff
+use CoreFramework\Task\BaseTask;
use CoreFramework\Task\Taskable;
use CoreFramework\Visitor\Visitable;
use CoreFramework\Visitor\Visitor;
namespace Hub\Crawler\Ping;
// Import framework stuff
+use CoreFramework\Task\BaseTask;
use CoreFramework\Task\Taskable;
use CoreFramework\Visitor\Visitable;
use CoreFramework\Visitor\Visitor;
namespace Hub\Crawler\Publisher\Job\Remote;
// Import framework stuff
+use CoreFramework\Task\BaseTask;
use CoreFramework\Task\Taskable;
use CoreFramework\Visitor\Visitable;
use CoreFramework\Visitor\Visitor;
namespace Hub\Task\Crawler\Scanner\;
// Import framework stuff
+use CoreFramework\Task\BaseTask;
use CoreFramework\Task\Taskable;
use CoreFramework\Visitor\Visitable;
use CoreFramework\Visitor\Visitor;
use Hub\Factory\Scanner\ScannerObjectFactory;
// Import framework stuff
+use CoreFramework\Task\BaseTask;
use CoreFramework\Task\Taskable;
use CoreFramework\Visitor\Visitable;
use CoreFramework\Visitor\Visitor;
namespace Hub\Crawler\SnippetExtractor;
// Import framework stuff
+use CoreFramework\Task\BaseTask;
use CoreFramework\Task\Taskable;
use CoreFramework\Visitor\Visitable;
use CoreFramework\Visitor\Visitor;
namespace Hub\Crawler\Analyzer\DocumentStructure;
// Import framework stuff
+use CoreFramework\Task\BaseTask;
use CoreFramework\Task\Taskable;
use CoreFramework\Visitor\Visitable;
use CoreFramework\Visitor\Visitor;
namespace Hub\Crawler\Local;
// Import framework stuff
+use CoreFramework\Task\BaseTask;
use CoreFramework\Task\Taskable;
use CoreFramework\Visitor\Visitable;
use CoreFramework\Visitor\Visitor;
namespace Hub\Crawler\Remote;
// Import framework stuff
+use CoreFramework\Task\BaseTask;
use CoreFramework\Task\Taskable;
use CoreFramework\Visitor\Visitable;
use CoreFramework\Visitor\Visitor;
namespace Hub\Task\Cruncher\;
// Import framework stuff
+use CoreFramework\Task\BaseTask;
+use CoreFramework\Task\Taskable;
use CoreFramework\Visitor\Visitable;
use CoreFramework\Visitor\Visitor;
namespace Hub\Cruncher\Producer\Key;
// Import framework stuff
+use CoreFramework\Task\BaseTask;
use CoreFramework\Task\Taskable;
use CoreFramework\Visitor\Visitable;
use CoreFramework\Visitor\Visitor;
namespace Hub\Cruncher\Task\Producer\Unit;
// Import framework stuff
+use CoreFramework\Task\BaseTask;
use CoreFramework\Task\Taskable;
use CoreFramework\Visitor\Visitable;
use CoreFramework\Visitor\Visitor;
// Import framework stuff
use CoreFramework\Registry\Registry;
+use CoreFramework\Task\BaseTask;
use CoreFramework\Task\Taskable;
use CoreFramework\Visitor\Visitable;
use CoreFramework\Visitor\Visitor;
// Import framework stuff
use CoreFramework\Registry\Registry;
+use CoreFramework\Task\BaseTask;
use CoreFramework\Task\Taskable;
use CoreFramework\Visitor\Visitable;
use CoreFramework\Visitor\Visitor;
// Import framework stuff
use CoreFramework\Registry\Registry;
+use CoreFramework\Task\BaseTask;
use CoreFramework\Task\Taskable;
use CoreFramework\Visitor\Visitable;
use CoreFramework\Visitor\Visitor;
namespace Hub\Miner\Task\Producer\GenesisBlock;
// Import framework stuff
+use CoreFramework\Task\BaseTask;
use CoreFramework\Task\Taskable;
use CoreFramework\Visitor\Visitable;
use CoreFramework\Visitor\Visitor;
namespace Hub\Task\Miner\;
// Import framework stuff
+use CoreFramework\Task\BaseTask;
+use CoreFramework\Task\Taskable;
use CoreFramework\Visitor\Visitable;
use CoreFramework\Visitor\Visitor;
namespace Hub\Miner\Task\Communicator\Node;
// Import framework stuff
+use CoreFramework\Task\BaseTask;
use CoreFramework\Task\Taskable;
use CoreFramework\Visitor\Visitable;
use CoreFramework\Visitor\Visitor;
namespace Hub\Task\AptProxy\Task\Network\;
// Import framework stuff
+use CoreFramework\Task\BaseTask;
+use CoreFramework\Task\Taskable;
use CoreFramework\Visitor\Visitable;
use CoreFramework\Visitor\Visitor;
namespace Hub\Task\Network\Reader;
// Import framework stuff
+use CoreFramework\Task\BaseTask;
use CoreFramework\Task\Taskable;
use CoreFramework\Visitor\Visitable;
use CoreFramework\Visitor\Visitor;
namespace Hub\Task\Network\Writer;
// Import framework stuff
+use CoreFramework\Task\BaseTask;
use CoreFramework\Task\Taskable;
use CoreFramework\Visitor\Visitable;
use CoreFramework\Visitor\Visitor;
use Hub\Factory\Node\NodeObjectFactory;
// Import framework stuff
+use CoreFramework\Task\BaseTask;
use CoreFramework\Task\Taskable;
use CoreFramework\Visitor\Visitable;
use CoreFramework\Visitor\Visitor;
// Own namespace
namespace Hub\Node\Task\Assembler;
+// Import application-specific stuff
+use Hub\Factory\Handler\Chunk\ChunkHandlerFactory;
+
// Import framework stuff
+use CoreFramework\Task\BaseTask;
use CoreFramework\Task\Taskable;
use CoreFramework\Visitor\Visitable;
use CoreFramework\Visitor\Visitor;
namespace Hub\Node\Task\;
// Import framework stuff
+use CoreFramework\Task\BaseTask;
use CoreFramework\Task\Taskable;
use CoreFramework\Visitor\Visitable;
use CoreFramework\Visitor\Visitor;
namespace Hub\Node\Task\Decoder;
// Import framework stuff
+use CoreFramework\Task\BaseTask;
use CoreFramework\Task\Taskable;
use CoreFramework\Visitor\Visitable;
use CoreFramework\Visitor\Visitor;
namespace Hub\Task\Node\Dht\;
// Import framework stuff
+use CoreFramework\Task\BaseTask;
+use CoreFramework\Task\Taskable;
use CoreFramework\Visitor\Visitable;
use CoreFramework\Visitor\Visitor;
use Hub\Factory\Dht\DhtObjectFactory;
// Import framework stuff
+use CoreFramework\Task\BaseTask;
use CoreFramework\Task\Taskable;
use CoreFramework\Visitor\Visitable;
use CoreFramework\Visitor\Visitor;
use Hub\Factory\Dht\DhtObjectFactory;
// Import framework stuff
+use CoreFramework\Task\BaseTask;
use CoreFramework\Task\Taskable;
use CoreFramework\Visitor\Visitable;
use CoreFramework\Visitor\Visitor;
use Hub\Factory\Dht\DhtObjectFactory;
// Import framework stuff
+use CoreFramework\Task\BaseTask;
use CoreFramework\Task\Taskable;
use CoreFramework\Visitor\Visitable;
use CoreFramework\Visitor\Visitor;
use Hub\Factory\Dht\DhtObjectFactory;
// Import framework stuff
+use CoreFramework\Task\BaseTask;
use CoreFramework\Task\Taskable;
use CoreFramework\Visitor\Visitable;
use CoreFramework\Visitor\Visitor;
use Hub\Factory\Dht\DhtObjectFactory;
// Import framework stuff
+use CoreFramework\Task\BaseTask;
use CoreFramework\Task\Taskable;
use CoreFramework\Visitor\Visitable;
use CoreFramework\Visitor\Visitor;
use Hub\Factory\Dht\DhtObjectFactory;
// Import framework stuff
+use CoreFramework\Task\BaseTask;
use CoreFramework\Task\Taskable;
use CoreFramework\Visitor\Visitable;
use CoreFramework\Visitor\Visitor;
use Hub\Factory\Node\NodeObjectFactory;
// Import framework stuff
+use CoreFramework\Task\BaseTask;
use CoreFramework\Task\Taskable;
use CoreFramework\Visitor\Visitable;
use CoreFramework\Visitor\Visitor;
// Import framework stuff
use CoreFramework\Lists\Listable;
+use CoreFramework\Task\BaseTask;
use CoreFramework\Task\Taskable;
use CoreFramework\Visitor\Visitable;
use CoreFramework\Visitor\Visitor;
use Hub\Factory\Node\NodeObjectFactory;
// Import framework stuff
+use CoreFramework\Task\BaseTask;
use CoreFramework\Task\Taskable;
use CoreFramework\Visitor\Visitable;
use CoreFramework\Visitor\Visitor;
namespace Hub\Node\Task\Initialization\Tag;
// Import framework stuff
+use CoreFramework\Task\BaseTask;
use CoreFramework\Task\Taskable;
use CoreFramework\Visitor\Visitable;
use CoreFramework\Visitor\Visitor;
namespace Hub\Node\Check\Update;
// Import framework stuff
+use CoreFramework\Task\BaseTask;
use CoreFramework\Task\Taskable;
use CoreFramework\Visitor\Visitable;
use CoreFramework\Visitor\Visitor;
use Hub\Listener\Listenable;
use Hub\Network\Receive\Receivable;
use Hub\Pool\Poolable;
+use Hub\Visitor\Listener\ListenerVisitor;
// Import framework stuff
use CoreFramework\Visitor\BaseVisitor;
// Import application-specific stuff
use Hub\Listener\Listenable;
use Hub\Pool\Poolable;
+use Hub\Visitor\Listener\ListenerVisitor;
use Hub\Visitor\Pool\PoolVisitor;
// Import framework stuff
use CoreFramework\Task\Taskable;
use CoreFramework\Visitor\BaseVisitor;
use CoreFramework\Visitor\Decorator\DecoratorVisitor;
-use CoreFramework\Visitor\Listener\ListenerVisitor;
use CoreFramework\Visitor\Task\TaskVisitor;
/**
use Hub\Listener\Listenable;
use Hub\Pool\Poolable;
use Hub\Visitor\Pool\PoolVisitor;
+use Hub\Visitor\Listener\ListenerVisitor;
// Import framework stuff
use CoreFramework\Generic\BaseDecorator;
use CoreFramework\Task\Taskable;
use CoreFramework\Visitor\BaseVisitor;
use CoreFramework\Visitor\Decorator\DecoratorVisitor;
-use CoreFramework\Visitor\Listener\ListenerVisitor;
use CoreFramework\Visitor\Task\TaskVisitor;
/**
// CFG: NODE-RAW-DATA-MONITOR-VISITOR-CLASS
$cfg->setConfigEntry('node_raw_data_monitor_visitor_class', 'RawDataPoolMonitorVisitor');
+// CFG: ACTIVE-TASK-VISITOR-CLASS
+$cfg->setConfigEntry('active_task_visitor_class', 'Hub\Visitor\Task\Active\ActiveTaskVisitor');
+
// CFG: NODE-ANNOUNCEMENT-HELPER-CLASS
$cfg->setConfigEntry('node_announcement_helper_class', 'NodeAnnouncementHelper');
$cfg->setConfigEntry('task_ping_max_runs', 0);
// CFG: NODE-PACKAGE-TAGS-INIT-TASK-CLASS
-$cfg->setConfigEntry('node_package_tags_init_task_class', 'NodePackageTagsInitTask');
+$cfg->setConfigEntry('node_package_tags_init_task_class', 'Hub\Node\Task\Initialization\Tag\NodePackageTagsInitTask');
// CFG: NODE-SELFCONNECT-TASK-CLASS
$cfg->setConfigEntry('node_selfconnect_task_class', 'NodeSelfConnectTask');
$cfg->setConfigEntry('node_announcement_task_class', 'NodeAnnouncementTask');
// CFG: NODE-PACKAGE-WRITER-TASK-CLASS
-$cfg->setConfigEntry('node_package_writer_task_class', 'NetworkPackageWriterTask');
+$cfg->setConfigEntry('node_package_writer_task_class', 'Hub\Task\Network\Writer\NetworkPackageWriterTask');
// CFG: NODE-PACKAGE-READER-TASK-CLASS
-$cfg->setConfigEntry('node_package_reader_task_class', 'NetworkPackageReaderTask');
+$cfg->setConfigEntry('node_package_reader_task_class', 'Hub\Task\Network\Reader\NetworkPackageReaderTask');
// CFG: NODE-SOCKET-LISTENER-TASK-CLASS
-$cfg->setConfigEntry('node_socket_listener_task_class', 'NodeSocketListenerTask');
+$cfg->setConfigEntry('node_socket_listener_task_class', 'Hub\Node\Task\Listener\Socket\NodeSocketListenerTask');
// CFG: NODE-CHUNK-ASSEMBLER-TASK-CLASS
-$cfg->setConfigEntry('node_chunk_assembler_task_class', 'NodeChunkAssemblerTask');
+$cfg->setConfigEntry('node_chunk_assembler_task_class', 'Hub\Node\Task\Assembler\NodeChunkAssemblerTask');
// CFG: NODE-PACKAGE-DECODER-TASK-CLASS
-$cfg->setConfigEntry('node_package_decoder_task_class', 'NodePackageDecoderTask');
+$cfg->setConfigEntry('node_package_decoder_task_class', 'Hub\Node\Task\Decoder\NodePackageDecoderTask');
// CFG: NODE-DHT-INIT-TASK-CLASS
-$cfg->setConfigEntry('node_dht_init_task_class', 'NodeDhtInitializationTask');
+$cfg->setConfigEntry('node_dht_init_task_class', 'Hub\Node\Task\Dht\Initialization\NodeDhtInitializationTask');
// CFG: NODE-DHT-BOOTSTRAP-TASK-CLASS
$cfg->setConfigEntry('node_dht_bootstrap_task_class', 'NodeDhtBootstrapTask');
$cfg->setConfigEntry('node_status', 'invalid');
// CFG: PACKAGE-FRAGMENTER-CLASS
-$cfg->setConfigEntry('package_fragmenter_class', 'PackageFragmenter');
+$cfg->setConfigEntry('package_fragmenter_class', 'Hub\Network\Package\Fragment\PackageFragmenter');
// CFG: PACKAGE-ASSEMBLER-CLASS
$cfg->setConfigEntry('package_assembler_class', 'PackageAssembler');
$cfg->setConfigEntry('socket_timeout_microseconds', 0);
// CFG: CHUNK-HANDLER-CLASS
-$cfg->setConfigEntry('chunk_handler_class', 'ChunkHandler');
+$cfg->setConfigEntry('chunk_handler_class', 'Hub\Handler\Network\RawData\Chunks\ChunkHandler');
// CFG: PACKAGE-DECODER-CLASS
$cfg->setConfigEntry('package_decoder_class', 'PackageDecoder');
$cfg->setConfigEntry('package_recipient_max_count', 3);
// CFG: NODE-DHT-CLASS
-$cfg->setConfigEntry('node_dht_class', 'NodeDhtFacade');
+$cfg->setConfigEntry('node_dht_class', 'Hub\Dht\Node\NodeDhtFacade');
// CFG: MAX-DHT-RECIPIENTS
$cfg->setConfigEntry('max_dht_recipients', 10);
// Own namespace
namespace Hub\Node\Network\Chunk;
+// Import application-specific stuff
+use Hub\Network\Package\Fragment\PackageFragmenter;
+
// Import framework stuff
use CoreFramework\Generic\FrameworkException;
<?php
// Own namespace
-namespace Hub\Fragmenter;
+namespace Hub\Network\Package\Fragment;
// Import application-specific stuff
use Hub\Helper\Connection\ConnectionHelper;
--- /dev/null
+Deny from all
--- /dev/null
+<?php
+// Own namespace
+namespace Hub\Visitor\Listener;
+
+// Import application-specific stuff
+use Hub\Listener\Listenable;
+
+// Import framework stuff
+use CoreFramework\Visitor\Visitor;
+
+/**
+ * An interface for the visitor implementation for listeners
+ *
+ * @author Roland Haeder <webmaster@shipsimu.org>
+ * @version 0.0.0
+ * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2017 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 <http://www.gnu.org/licenses/>.
+ */
+interface ListenerVisitor extends Visitor {
+ /**
+ * Visits the given listener instance
+ *
+ * @param $listenerInstance A Listenable instance
+ * @return void
+ */
+ function visitListener (Listenable $listenerInstance);
+
+}
-Subproject commit b89f58d4d90b6d608b8e16b0e5e3235eaff4f54e
+Subproject commit d506014f84d8e6a76ea67ef59537fc56f5f1c364