<?php
/**
- * Configuration entries for the hub only
+ * Configuration entries for this application only
*
- * @author Roland Haeder <webmaster@ship-simu.org>
+ * @author Roland Haeder <webmaster@shipsimu.org>
* @version 0.0
- * @copyright Copyright (c) 2007 - 2008 Roland Haeder, 2009 - 2011 Hub Developer Team
+ * @copyright Copyright (c) 2007 - 2008 Roland Haeder, 2009 - 2012 Hub Developer Team
* @license GNU GPL 3.0 or any newer version
*
* This program is free software: you can redistribute it and/or modify
*/
// Some hub-specific configuration like port hostname where we will listen, etc.
-$cfg = FrameworkConfiguration::getInstance();
+$cfg = FrameworkConfiguration::getSelfInstance();
// CFG: NODE-LISTEN-ADDR
$cfg->setConfigEntry('node_listen_addr', '0.0.0.0');
-// CFG: NODE-TCP-LISTEN-PORT
-$cfg->setConfigEntry('node_tcp_listen_port', 9060);
-
-// CFG: NODE-UDP-LISTEN-PORT
-$cfg->setConfigEntry('node_udp_listen_port', 9060);
-
-// CFG: BOOT-NODE-TCP-LISTEN-PORT
-$cfg->setConfigEntry('boot_node_tcp_listen_port', 9061);
-
-// CFG: BOOT-NODE-UDP-LISTEN-PORT
-$cfg->setConfigEntry('boot_node_udp_listen_port', 9061);
+// CFG: NODE-LISTEN-PORT
+$cfg->setConfigEntry('node_listen_port', 9060);
// CFG: NODE-DEFAULT-MODE (can be 'regular', 'list', 'master' or 'boot', default is 'regular')
$cfg->setConfigEntry('node_default_mode', 'regular');
// CFG: NODE-INFO-DB-WRAPPER-CLASS
$cfg->setConfigEntry('node_info_db_wrapper_class', 'NodeInformationDatabaseWrapper');
-// CFG: NODE-LIST-DB-WRAPPER-CLASS
-$cfg->setConfigEntry('node_list_db_wrapper_class', 'NodeListDatabaseWrapper');
+// CFG: NODE-DHT-DB-WRAPPER-CLASS
+$cfg->setConfigEntry('node_dht_db_wrapper_class', 'NodeDistributedHashTableDatabaseWrapper');
+
+// CFG: NODE-DHT-LIST-LIMIT
+$cfg->setConfigEntry('node_dht_list_limit', 20);
// CFG: PEER-LOOKUP-DB-WRAPPER-CLASS
$cfg->setConfigEntry('peer_state_lookup_db_wrapper_class', 'PeerStateLookupDatabaseWrapper');
// CFG: WEB-CONTENT-TYPE
$cfg->setConfigEntry('web_content_type', '');
-// CFG: QUERY-CONNECTOR-CLASS
-$cfg->setConfigEntry('query_connector_class', 'LocalQueryConnector');
-
-// CFG: QUEUE-CONNECTOR-CLASS
-$cfg->setConfigEntry('queue_connector_class', 'LocalQueueConnector');
-
// CFG: LISTENER-POOL-CLAS
$cfg->setConfigEntry('listener_pool_class', 'DefaultListenerPool');
// CFG: UDP-LISTENER-CLASS
$cfg->setConfigEntry('udp_listener_class', 'UdpListener');
-// CFG: HUB-TCP-LISTENER-CLASS
-$cfg->setConfigEntry('hub_tcp_listener_class', 'HubTcpListenerDecorator');
+// CFG: NODE-TCP-LISTENER-CLASS
+$cfg->setConfigEntry('node_tcp_listener_class', 'HubTcpListenerDecorator');
-// CFG: HUB-UDP-LISTENER-CLASS
-$cfg->setConfigEntry('hub_udp_listener_class', 'HubUdpListenerDecorator');
+// CFG: NODE-UDP-LISTENER-CLASS
+$cfg->setConfigEntry('node_udp_listener_class', 'HubUdpListenerDecorator');
// CFG: CLIENT-TCP-LISTENER-CLASS
-$cfg->setConfigEntry('peer_tcp_listener_class', 'PeerTcpListenerDecorator');
+$cfg->setConfigEntry('client_tcp_listener_class', 'ClientTcpListenerDecorator');
// CFG: CLIENT-UDP-LISTENER-CLASS
-$cfg->setConfigEntry('peer_udp_listener_class', 'PeerUdpListenerDecorator');
+$cfg->setConfigEntry('client_udp_listener_class', 'ClientUdpListenerDecorator');
-// CFG: CLIENT-POOL-CLASS
-$cfg->setConfigEntry('peer_pool_class', 'DefaultPeerPool');
+// CFG: NODE-POOL-CLASS
+$cfg->setConfigEntry('node_pool_class', 'DefaultPeerPool');
// CFG: POOL-ENTRIES-LIST-CLASS
$cfg->setConfigEntry('pool_entries_list_class', 'PoolEntriesList');
// CFG: SHUTDOWN-SOCKET-VISITOR-CLASS
$cfg->setConfigEntry('shutdown_socket_visitor_class', 'ShutdownSocketVisitor');
+// CFG: HALF-SHUTDOWN-SOCKET-VISITOR-CLASS
+$cfg->setConfigEntry('half_shutdown_socket_visitor_class', 'HalfShutdownSocketVisitor');
+
// CFG: ACTIVE-TASK-VISITOR-CLASS
$cfg->setConfigEntry('active_task_visitor_class', 'ActiveTaskVisitor');
// CFG: LIST-GROUP-CLASS
$cfg->setConfigEntry('list_group_class', 'ListGroupList');
-// CFG: HUB-ANNOUNCEMENT-HELPER-CLASS
-$cfg->setConfigEntry('hub_announcement_helper_class', 'HubDescriptorHelper');
+// CFG: NODE-ANNOUNCEMENT-HELPER-CLASS
+$cfg->setConfigEntry('node_announcement_helper_class', 'NodeAnnouncementHelper');
-// CFG: HUB-SELF-CONNECT-HELPER-CLASS
-$cfg->setConfigEntry('hub_self_connect_helper_class', 'HubSelfConnectHelper');
+// CFG: NODE-SELF-CONNECT-HELPER-CLASS
+$cfg->setConfigEntry('node_self_connect_helper_class', 'NodeSelfConnectHelper');
+
+// CFG: DHT-BOOTSTRAP-HELPER-CLASS
+$cfg->setConfigEntry('dht_bootstrap_helper_class', 'DhtBootstrapHelper');
// CFG: DEFAULT-CONSOLE-COMMAND
$cfg->setConfigEntry('default_console_command', 'main');
// CFG: NODE-ACTIVATION-TASK-HANDLER-INITIALIZER-FILTER
$cfg->setConfigEntry('node_activation_task_handler_initializer_filter', 'NodeTaskHandlerInitializerFilter');
-// CFG: NODE-ACTIVATION-SELF-ANNOUNCEMENT-TASK-FILTER
-$cfg->setConfigEntry('node_activation_self_announcement_task_filter', 'NodeActivationSelfAnnouncementFilter');
+// CFG: NODE-ACTIVATION-ANNOUNCEMENT-TASK-FILTER
+$cfg->setConfigEntry('node_activation_announcement_task_filter', 'NodeActivationAnnouncementFilter');
// CFG: NODE-WELCOME-TEASER-FILTER
$cfg->setConfigEntry('node_welcome_teaser_filter', 'NodeWelcomeTeaserFilter');
-// CFG: NODE-BOOTSTRAP-GENERATE-HUBID-FILTER
+// CFG: NODE-BOOTSTRAP-GENERATE-NODEID-FILTER
$cfg->setConfigEntry('node_bootstrap_generate_nodeid_filter', 'NodeBootstrapGenerateNodeIdFilter');
// CFG: NODE-BOOTSTRAP-GENERATE-SESSIONID-FILTER
$cfg->setConfigEntry('node_bootstrap_generate_sessionid_filter', 'NodeBootstrapGenerateSessionIdFilter');
-// CFG: NODE-BOOTSTRAP-RESTORE-NODELIST-FILTER
-$cfg->setConfigEntry('node_bootstrap_restore_nodelist_filter', 'NodeBootstrapRestoreNodeListFilter');
-
-// CFG: NODE-BOOTSTRAP-INIT-QUEUES-FILTER
-$cfg->setConfigEntry('node_bootstrap_init_queues_filter', 'NodeBootstrapInitQueuesFilter');
+// CFG: NODE-BOOTSTRAP-GENERATE-PRIVATE-KEY-FILTER
+$cfg->setConfigEntry('node_bootstrap_generate_private_key_filter', 'NodeBootstrapGeneratePrivateKeyFilter');
// CFG: NODE-BOOTSTRAP-EXTRA-BOOTSTRAPPING-FILTER
$cfg->setConfigEntry('node_bootstrap_extra_bootstrapping_filter', 'NodeBootstrapExtraBootstrappingFilter');
// CFG: NODE-SHUTDOWN-FLUSH-NODE-LIST-FILTER
$cfg->setConfigEntry('node_shutdown_flush_node_list_filter', 'NodeShutdownFlushNodeListFilter');
-// CFG: NODE-SHUTDOWN-DEINIT-QUEUES-FILTER
-$cfg->setConfigEntry('node_shutdown_deinit_queues_filter', 'NodeShutdownDeinitQueuesFilter');
-
// CFG: NODE-SHUTDOWN-TASK-HANDLER-FILTER
$cfg->setConfigEntry('node_shutdown_task_handler_filter', 'NodeShutdownTaskHandlerFilter');
// CFG: NODE-SHUTDOWN-NODE-FILTER
$cfg->setConfigEntry('node_shutdown_node_filter', 'NodeShutdownNodeFilter');
+// CFG: PACKAGE-FILTER-CHAIN-CLASS
+$cfg->setConfigEntry('package_filter_chain_class', 'PackageFilterChain');
+
+// CFG: PACKAGE-TAG-ANNOUNCEMENT-FILTER
+$cfg->setConfigEntry('package_tag_announcement_filter', 'PackageAnnouncementTagFilter');
+
+// CFG: PACKAGE-TAG-ANNOUNCEMENT-ANSWER-FILTER
+$cfg->setConfigEntry('package_tag_announcement_answer_filter', 'PackageAnnouncementAnswerTagFilter');
+
+// CFG: PACKAGE-TAG-SELF-CONNECT-FILTER
+$cfg->setConfigEntry('package_tag_self_connect_filter', 'PackageSelfConnectTagFilter');
+
+// CFG: PACKAGE-TAG-REQUEST-NODE-LIST-FILTER
+$cfg->setConfigEntry('package_tag_request_node_list_filter', 'PackageRequestNodeListTagFilter');
+
+// CFG: PACKAGE-TAG-REQUEST-NODE-LIST-ANSWER-FILTER
+$cfg->setConfigEntry('package_tag_request_node_list_answer_filter', 'PackageRequestNodeListAnswerTagFilter');
+
+// CFG: MESSAGE-TYPE-ANNOUNCEMENT-HANDLER-CLASS
+$cfg->setConfigEntry('message_type_announcement_handler_class', 'NodeMessageAnnouncementHandler');
+
+// CFG: MESSAGE-TYPE-ANNOUNCEMENT-ANSWER-HANDLER-CLASS
+$cfg->setConfigEntry('message_type_announcement_answer_handler_class', 'NodeMessageAnnouncementAnswerHandler');
+
+// CFG: MESSAGE-TYPE-SELF-CONNECT-HANDLER-CLASS
+$cfg->setConfigEntry('message_type_self_connect_handler_class', 'NodeMessageSelfConnectHandler');
+
+// CFG: MESSAGE-TYPE-REQUEST-NODE-LIST-HANDLER-CLASS
+$cfg->setConfigEntry('message_type_request_node_list_handler_class', 'NodeMessageRequestNodeListHandler');
+
+// CFG: MESSAGE-TYPE-REQUEST-NODE-LIST-ANSWER-HANDLER-CLASS
+$cfg->setConfigEntry('message_type_request_node_list_answer_handler_class', 'NodeMessageRequestNodeListAnswerHandler');
+
+// CFG: NODE-ANSWER-MESSAGE-ANNOUNCEMENT-HELPER-CLASS
+$cfg->setConfigEntry('node_answer_message_announcement_helper_class', 'NodeAnnouncementMessageAnswerHelper');
+
+// CFG: NODE-ANSWER-MESSAGE-REQUEST-NODE-LIST-HELPER-CLASS
+$cfg->setConfigEntry('node_answer_message_request_node_list_helper_class', 'NodeRequestNodeListMessageAnswerHelper');
+
+// CFG: NODE-NEXT-ANNOUNCEMENT-ANSWER-OKAY-HELPER-CLASS
+$cfg->setConfigEntry('node_next_announcement_answer_okay_helper_class', 'NodeRequestNodeListHelper');
+
// CFG: NEWS-READER-CLASS
$cfg->setConfigEntry('news_reader_class', 'ConsoleNewsReader');
// CFG: NODE-ANNOUNCEMENT-TEMPLATE-CLASS
$cfg->setConfigEntry('node_announcement_template_class', 'XmlAnnouncementTemplateEngine');
-// CFG: NODE-ANNOUNCEMENT-TEMPLATE-EXTENSION
-$cfg->setConfigEntry('node_announcement_template_extension', '.xml');
+// CFG: NODE-ANNOUNCEMENT-ANSWER-TEMPLATE-CLASS
+$cfg->setConfigEntry('node_announcement_answer_template_class', 'XmlAnnouncementAnswerTemplateEngine');
+
+// CFG: NODE-REQUEST-NODE-LIST-TEMPLATE-CLASS
+$cfg->setConfigEntry('node_request_node_list_template_class', 'XmlRequestNodeListTemplateEngine');
+
+// CFG: NODE-REQUEST-NODE-LIST-ANSWER-TEMPLATE-CLASS
+$cfg->setConfigEntry('node_request_node_list_answer_template_class', 'XmlRequestNodeListAnswerTemplateEngine');
+
+// CFG: NODE-REQUEST-NODE-LIST-ENTRIES-TEMPLATE-CLASS
+$cfg->setConfigEntry('node_request_node_list_entries_template_class', 'XmlRequestNodeListEntryTemplateEngine');
+
+// CFG: DHT-BOOTSTRAP-TEMPLATE-CLASS
+$cfg->setConfigEntry('dht_bootstrap_template_class', 'XmlDhtBootstrapTemplateEngine');
+
+// CFG: NODE-MESSAGE-TEMPLATE-EXTENSION
+$cfg->setConfigEntry('node_message_template_extension', '.xml');
+
+// CFG: DHT-MESSAGE-TEMPLATE-EXTENSION
+$cfg->setConfigEntry('dht_message_template_extension', '.xml');
+
+// CFG: NODE-ANNOUNCEMENT-ANSWER-TEMPLATE-EXTENSION
+$cfg->setConfigEntry('node_announcement_answer_template_extension', '.xml');
// CFG: NODE-ANNOUNCEMENT-TEMPLATE-TYPE
$cfg->setConfigEntry('node_announcement_template_type', 'xml/announcement');
// CFG: NODE-ANNOUNCEMENT-STACKER-CLASS
$cfg->setConfigEntry('node_announcement_stacker_class', 'FiLoStacker');
+// CFG: NODE-ANNOUNCEMENT-ANSWER-STACKER-CLASS
+$cfg->setConfigEntry('node_announcement_answer_stacker_class', 'FiLoStacker');
+
+// CFG: NODE-REQUEST-NODE-LIST-ANSWER-STACKER-CLASS
+$cfg->setConfigEntry('node_request_node_list_answer_stacker_class', 'FiLoStacker');
+
+// CFG: NODE-REQUEST-NODE-LIST-ENTRY-STACKER-CLASS
+$cfg->setConfigEntry('node_request_node_list_entry_stacker_class', 'FiLoStacker');
+
+// CFG: DHT-STACKER-CLASS
+$cfg->setConfigEntry('dht_stacker_class', 'FiLoStacker');
+
+// CFG: NODE-ANNOUNCEMENT-ANSWER-TEMPLATE-TYPE
+$cfg->setConfigEntry('node_announcement_answer_template_type', 'xml/answer/announcement');
+
+// CFG: NODE-REQUEST-NODE-LIST-ANSWER-TEMPLATE-TYPE
+$cfg->setConfigEntry('node_request_node_list_answer_template_type', 'xml/answer/requests');
+
// CFG: NODE-SELF-CONNECT-TEMPLATE-CLASS
$cfg->setConfigEntry('node_self_connect_template_class', 'XmlSelfConnectTemplateEngine');
-// CFG: NODE-SELF-CONNECT-TEMPLATE-EXTENSION
-$cfg->setConfigEntry('node_self_connect_template_extension', '.xml');
-
// CFG: NODE-SELF-CONNECT-TEMPLATE-TYPE
$cfg->setConfigEntry('node_self_connect_template_type', 'xml/self_connect');
+// CFG: NODE-REQUEST-NODE-LIST-TEMPLATE-TYPE
+$cfg->setConfigEntry('node_request_node_list_template_type', 'xml/requests');
+
// CFG: NODE-SELF-CONNECT-STACKER-CLASS
$cfg->setConfigEntry('node_self_connect_stacker_class', 'FiLoStacker');
+// CFG: NODE-REQUEST-NODE_LIST-STACKER-CLASS
+$cfg->setConfigEntry('node_request_node_list_stacker_class', 'FiLoStacker');
+
// CFG: NODE-OBJECT-REGISTRY-TEMPLATE-CLASS
$cfg->setConfigEntry('node_object_registry_template_class', 'XmlObjectRegistryTemplateEngine');
// CFG: NODE-OBJECT-TYPE-REGISTRY-CLASS
$cfg->setConfigEntry('node_object_type_registry_class', 'ObjectTypeRegistry');
+// CFG: DHT-BOOTSTRAP-TEMPLATE-TYPE
+$cfg->setConfigEntry('dht_bootstrap_template_type', 'xml/dht_bootstrap');
+
// CFG: CODE-TEMPLATE-TYPE
$cfg->setConfigEntry('code_template_type', 'xml');
+// CFG: RAW-TEMPLATE-EXTENSION (to speed-up things)
+$cfg->setConfigEntry('raw_template_extension', '.xml');
+
// CFG: PACKAGE-STACKER-CLASS
$cfg->setConfigEntry('network_package_stacker_class', 'FiFoStacker');
// CFG: NODE-RAW-DATA-STACKER-CLASS
$cfg->setConfigEntry('node_raw_data_stacker_class', 'FiFoStacker');
+// CFG: CHUNK-HANDLER-STACKER-CLASS
+$cfg->setConfigEntry('chunk_handler_stacker_class', 'FiFoStacker');
+
+// CFG: DHT-BOOTSTRAP-STACKER-CLASS
+$cfg->setConfigEntry('dht_bootstrap_stacker_class', 'FiFoStacker');
+
// CFG: PRODUCER-OUTGOING-QUEUE
$cfg->setConfigEntry('producer_outgoing_queue', 'FiFoStacker');
// CFG: PRODUCER-INCOMING-QUEUE
$cfg->setConfigEntry('producer_incoming_queue', 'FiFoStacker');
-// CFG: STACKER-ANNOUNCEMENT-MAX-SIZE
-$cfg->setConfigEntry('stacker_announcement_max_size', 20);
+// CFG: STACKER-NODE-ANNOUNCEMENT-MAX-SIZE
+$cfg->setConfigEntry('stacker_node_announcement_max_size', 20);
+
+// CFG: STACKER-NODE-ANNOUNCEMENT-ANSWER-MAX-SIZE
+$cfg->setConfigEntry('stacker_node_announcement_answer_max_size', 20);
+
+// CFG: STACKER-NODE-SELF-CONNECT-MAX-SIZE
+$cfg->setConfigEntry('stacker_node_self_connect_max_size', 10);
+
+// CFG: STACKER-NODE-REQUEST-NODE-LIST-MAX_SIZE
+$cfg->setConfigEntry('stacker_node_request_node_list_max_size', 10);
-// CFG: STACKER-SELF-CONNECT-MAX-SIZE
-$cfg->setConfigEntry('stacker_self_connect_max_size', 10);
+// CFG: STACKER-NODE-REQUEST-NODE-LIST-ANSWER-MAX-SIZE
+$cfg->setConfigEntry('stacker_node_request_node_list_answer_max_size', 20);
+
+// CFG: STACKER-NODE-REQUEST-NODE-LIST-ENTRY-MAX_SIZE
+$cfg->setConfigEntry('stacker_node_request_node_list_entry_max_size', 10);
// CFG: STACKER-UNDECLARED-MAX-SIZE
-$cfg->setConfigEntry('stacker_undeclared_max_size', 10000);
+$cfg->setConfigEntry('stacker_package_undeclared_max_size', 10000);
-// CFG: STACKER-DECLARED-MAX-SIZE
-$cfg->setConfigEntry('stacker_declared_max_size', 1000);
+// CFG: STACKER-PACKAGE-DECLARED-MAX-SIZE
+$cfg->setConfigEntry('stacker_package_declared_max_size', 1000);
-// CFG: STACKER-OUTGOING-MAX-SIZE
-$cfg->setConfigEntry('stacker_outgoing_max_size', 100);
+// CFG: STACKER-PACKAGE-OUTGOING-MAX-SIZE
+$cfg->setConfigEntry('stacker_package_outgoing_max_size', 100);
-// CFG: STACKER-IN-QUEUE-MAX-SIZE
-$cfg->setConfigEntry('stacker_in_queue_max_size', 10000);
+// CFG: STACKER-PACKAGE-DECODED-DATA-MAX-SIZE
+$cfg->setConfigEntry('stacker_package_decoded_data_max_size', 200);
-// CFG: STACKER-OUT-QUEUE-MAX-SIZE
-$cfg->setConfigEntry('stacker_out_queue_max_size', 10000);
+// CFG: STACKER-PACKAGE-HANDLED-DECODED-MAX-SIZE
+$cfg->setConfigEntry('stacker_package_handled_decoded_max_size', 200);
-// CFG: STACKER-OBJECT-REGISTRY-MAX-SIZE
-$cfg->setConfigEntry('stacker_object_registry_max_size', 100);
+// CFG: STACKER-PACKAGE-CHUNKED-DECODED-MAX-SIZE
+$cfg->setConfigEntry('stacker_package_chunked_decoded_max_size', 800);
-// CFG: STACKER-OUTGOING-QUEUE-MAX-SIZE
-$cfg->setConfigEntry('stacker_outgoing_queue_max_size', 100000);
+// CFG: STACKER-PACKAGE-NEW-MESSAGE-MAX-SIZE
+$cfg->setConfigEntry('stacker_package_new_message_max_size', 400);
+
+// CFG: STACKER-PACKAGE-PROCESSED-MESSAGE-MAX-SIZE
+$cfg->setConfigEntry('stacker_package_processed_message_max_size', 400);
-// CFG: STACKER-INCOMING-QUEUE-MAX-SIZE
-$cfg->setConfigEntry('stacker_incoming_queue_max_size', 100000);
+// CFG: STACKER-PACKAGE-BACKBUFFER-MAX-SIZE
+$cfg->setConfigEntry('stacker_package_backbuffer_max_size', 1000);
+
+// CFG: STACKER-NODE-OBJECT-REGISTRY-MAX-SIZE
+$cfg->setConfigEntry('stacker_node_object_registry_max_size', 100);
// CFG: STACKER-RAW-DATA-MAX-SIZE
$cfg->setConfigEntry('stacker_raw_data_max_size', 100);
+// CFG: STACKER-FINAL-CHUNKS-MAX-SIZE
+$cfg->setConfigEntry('stacker_final_chunks_max_size', 100);
+
+// CFG: STACKER-PENDING-CHUNKS-MAX-SIZE
+$cfg->setConfigEntry('stacker_pending_chunks_max_size', 500);
+
+// CFG: STACKER-CHUNK-RAW-DATA-MAX-SIZE
+$cfg->setConfigEntry('stacker_chunk_raw_data_max_size', 100);
+
+// CFG: STACKER-DECODED-PACKAGE-MAX-SIZE
+$cfg->setConfigEntry('stacker_decoded_package_max_size', 100);
+
+// CFG: STACKER-DHT-BOOTSTRAP-MAX-SIZE
+$cfg->setConfigEntry('stacker_dht_bootstrap_max_size', 10);
+
+// CFG: STACKER-DHT-INSERT-NODE-MAX-SIZE
+$cfg->setConfigEntry('stacker_dht_insert_node_max_size', 100);
+
// CFG: NEWS-MAIN-LIMIT
$cfg->setConfigEntry('news_main_limit', 5);
// CFG: TASK-HANDLER-CLASS
$cfg->setConfigEntry('task_handler_class', 'TaskHandler');
-// CFG: TASK-QUERY-HANDLER-STARTUP-DELAY
-$cfg->setConfigEntry('task_query_handler_startup_delay', 1000);
-
-// CFG: TASK-QUERY-HANDLER-INTERVAL-DELAY
-$cfg->setConfigEntry('task_query_handler_interval_delay', 10);
-
-// CFG: TASK-QUERY-HANDLER-MAX-RUNS
-$cfg->setConfigEntry('task_query_handler_max_runs', 0);
-
-// CFG: TASK-QUEUE-HANDLER-STARTUP-DELAY
-$cfg->setConfigEntry('task_queue_handler_startup_delay', 1000);
+// CFG: TASK-PACKAGE-TAGS-INIT-STARTUP-DELAY
+$cfg->setConfigEntry('task_package_tags_init_startup_delay', 50);
-// CFG: TASK-QUEUE-HANDLER-INTERVAL-DELAY
-$cfg->setConfigEntry('task_queue_handler_interval_delay', 10);
+// CFG: TASK-PACKAGE-TAGS-INIT-INTERVAL-DELAY
+$cfg->setConfigEntry('task_package_tags_init_interval_delay', 1000*60*60*24*7);
-// CFG: TASK-QUEUE-HANDLER-MAX-RUNS
-$cfg->setConfigEntry('task_queue_handler_max_runs', 0);
+// CFG: TASK-PACKAGE-TAGS-INIT-MAX-RUNS
+$cfg->setConfigEntry('task_package_tags_init_max_runs', 1);
// CFG: TASK-IDLE-LOOP-STARTUP-DELAY
$cfg->setConfigEntry('task_idle_loop_startup_delay', 0);
// CFG: TASK-SELF-CONNECT-MAX-RUNS
$cfg->setConfigEntry('task_self_connect_max_runs', 0);
-// CFG: TASK-SELF-ANNOUNCEMENT-STARTUP-DELAY
-$cfg->setConfigEntry('task_self_announcement_startup_delay', 10000);
+// CFG: TASK-ANNOUNCEMENT-STARTUP-DELAY
+$cfg->setConfigEntry('task_announcement_startup_delay', 10000);
-// CFG: TASK-SELF-ANNOUNCEMENT-INTERVAL-DELAY
-$cfg->setConfigEntry('task_self_announcement_interval_delay', 1000);
+// CFG: TASK-ANNOUNCEMENT-INTERVAL-DELAY
+$cfg->setConfigEntry('task_announcement_interval_delay', 1000);
-// CFG: TASK-SELF-ANNOUNCEMENT-MAX-RUNS
-$cfg->setConfigEntry('task_self_announcement_max_runs', 1);
+// CFG: TASK-ANNOUNCEMENT-MAX-RUNS
+$cfg->setConfigEntry('task_announcement_max_runs', 1);
// CFG: TASK-UPDATE-CHECK-STARTUP-DELAY
$cfg->setConfigEntry('task_update_check_startup_delay', 1000*60*60*6);
// CFG: IDLE-TASK-CLASS
$cfg->setConfigEntry('idle_task_class', 'IdleLoopTask');
-// CFG: HUB-SELFCONNECT-TASK-CLASS
-$cfg->setConfigEntry('hub_selfconnect_task_class', 'HubSelfConnectTask');
+// CFG: NODE-PACKAGE-TAGS-INIT-TASK-CLASS
+$cfg->setConfigEntry('node_package_tags_init_task_class', 'NodePackageTagsInitTask');
+
+// CFG: NODE-SELFCONNECT-TASK-CLASS
+$cfg->setConfigEntry('node_selfconnect_task_class', 'NodeSelfConnectTask');
+
+// CFG: NODE-UPDATE-CHECK-TASK-CLASS
+$cfg->setConfigEntry('node_update_check_task_class', 'NodeUpdateCheckTask');
+
+// CFG: NODE-PING-TASK-CLASS
+$cfg->setConfigEntry('node_ping_task_class', 'NodePingTask');
+
+// CFG: NODE-ANNOUNCEMENT-TASK-CLASS
+$cfg->setConfigEntry('node_announcement_task_class', 'NodeAnnouncementTask');
+
+// CFG: NODE-PACKAGE-WRITER-TASK-CLASS
+$cfg->setConfigEntry('node_package_writer_task_class', 'NetworkPackageWriterTask');
+
+// CFG: NODE-PACKAGE-READER-TASK-CLASS
+$cfg->setConfigEntry('node_package_reader_task_class', 'NetworkPackageReaderTask');
-// CFG: HUB-UPDATE-CHECK-TASK-CLASS
-$cfg->setConfigEntry('hub_update_check_task_class', 'HubUpdateCheckTask');
+// CFG: NODE-SOCKET-LISTENER-TASK-CLASS
+$cfg->setConfigEntry('node_socket_listener_task_class', 'NodeSocketListenerTask');
-// CFG: HUB-PING-TASK-CLASS
-$cfg->setConfigEntry('hub_ping_task_class', 'HubPingTask');
+// CFG: NODE-CHUNK-ASSEMBLER-TASK-CLASS
+$cfg->setConfigEntry('node_chunk_assembler_task_class', 'NodeChunkAssemblerTask');
-// CFG: HUB-SELF-ANNOUNCEMENT-TASK-CLASS
-$cfg->setConfigEntry('hub_self_announcement_task_class', 'HubSelfAnnouncementTask');
+// CFG: NODE-PACKAGE-DECODER-TASK-CLASS
+$cfg->setConfigEntry('node_package_decoder_task_class', 'NodePackageDecoderTask');
-// CFG: HUB-PACKAGE-WRITER-TASK-CLASS
-$cfg->setConfigEntry('hub_package_writer_task_class', 'NetworkPackageWriterTask');
+// CFG: NODE-DHT-INIT-TASK-CLASS
+$cfg->setConfigEntry('node_dht_init_task_class', 'NodeDhtInitializationTask');
-// CFG: HUB-PACKAGE-READER-TASK-CLASS
-$cfg->setConfigEntry('hub_package_reader_task_class', 'NetworkPackageReaderTask');
+// CFG: NODE-DHT-BOOTSTRAP-TASK-CLASS
+$cfg->setConfigEntry('node_dht_bootstrap_task_class', 'NodeDhtBootstrapTask');
-// CFG: HUB-SOCKET-LISTENER-TASK-CLASS
-$cfg->setConfigEntry('hub_socket_listener_task_class', 'HubSocketListenerTask');
+// CFG: NODE-DHT-QUERY-TASK-CLASS
+$cfg->setConfigEntry('node_dht_query_task_class', 'NodeDhtQueryTask');
// CFG: TASK-NETWORK-PACKAGE-WRITER-STARTUP-DELAY
$cfg->setConfigEntry('task_network_package_writer_startup_delay', 2500);
// CFG: TASK-SOCKET-LISTENER-MAX-RUNS
$cfg->setConfigEntry('task_socket_listener_max_runs', 0);
+// CFG: TASK-PACKAGE-DECODER-STATUP-DELAY
+$cfg->setConfigEntry('task_package_decoder_startup_delay', 1300);
+
+// CFG: TASK-PACKAGE-DECODER-INTERVAL-DELAY
+$cfg->setConfigEntry('task_package_decoder_interval_delay', 50);
+
+// CFG: TASK-PACKAGE-DECODER-MAX-RUNS
+$cfg->setConfigEntry('task_package_decoder_max_runs', 0);
+
+// CFG: TASK-CHUNK-ASSEMBLER-STATUP-DELAY
+$cfg->setConfigEntry('task_chunk_assembler_startup_delay', 1500);
+
+// CFG: TASK-CHUNK-ASSEMBLER-INTERVAL-DELAY
+$cfg->setConfigEntry('task_chunk_assembler_interval_delay', 50);
+
+// CFG: TASK-CHUNK-ASSEMBLER-MAX-RUNS
+$cfg->setConfigEntry('task_chunk_assembler_max_runs', 0);
+
+// CFG: TASK-DHT-INIT-STATUP-DELAY
+$cfg->setConfigEntry('task_dht_init_startup_delay', 100);
+
+// CFG: TASK-DHT-INIT-INTERVAL-DELAY
+$cfg->setConfigEntry('task_dht_init_interval_delay', 86400000); // = 1 day (won't matter anyway)
+
+// CFG: TASK-DHT-INIT-MAX-RUNS
+$cfg->setConfigEntry('task_dht_init_max_runs', 1);
+
+// CFG: TASK-DHT-BOOTSTRAP-STATUP-DELAY
+$cfg->setConfigEntry('task_dht_bootstrap_startup_delay', 100);
+
+// CFG: TASK-DHT-BOOTSTRAP-INTERVAL-DELAY
+$cfg->setConfigEntry('task_dht_bootstrap_interval_delay', 3600000); // = 1 hour (won't matter anyway)
+
+// CFG: TASK-DHT-BOOTSTRAP-MAX-RUNS
+$cfg->setConfigEntry('task_dht_bootstrap_max_runs', 1);
+
+// CFG: TASK-DHT-QUERY-STATUP-DELAY
+$cfg->setConfigEntry('task_dht_query_startup_delay', 1400);
+
+// CFG: TASK-DHT-QUERY-INTERVAL-DELAY
+$cfg->setConfigEntry('task_dht_query_interval_delay', 50);
+
+// CFG: TASK-DHT-QUERY-MAX-RUNS
+$cfg->setConfigEntry('task_dht_query_max_runs', 0);
+
// CFG: TASK-LIST-CLASS
$cfg->setConfigEntry('task_list_class', 'TaskList');
// CFG: QUERY-ITERATOR-CLASS
$cfg->setConfigEntry('query_iterator_class', 'DefaultIterator');
-// CFG: HUB-PING-ITERATOR-CLASS
-$cfg->setConfigEntry('hub_ping_iterator_class', 'HubPingIterator');
-
-// CFG: TEST-UNIT-PRODUCER-KEY-ITERATOR-CLASS
-$cfg->setConfigEntry('test_unit_producer_key_iterator_class', 'TestUnitKeyProducerIterator');
-
-// CFG: WORK-UNIT-PRODUCER-KEY-ITERATOR-CLASS
-$cfg->setConfigEntry('work_unit_producer_key_iterator_class', 'WorkUnitKeyProducerIterator');
-
-// CFG: LOCAL-QUERY-LIST-CLASS
-$cfg->setConfigEntry('local_query_list_class', 'LocalQueryList');
-
-// CFG: LOCAL-QUERY-CLASS
-$cfg->setConfigEntry('local_query_class', 'LocalQuery');
+// CFG: NODE-PING-ITERATOR-CLASS
+$cfg->setConfigEntry('node_ping_iterator_class', 'HubPingIterator');
// CFG: WEB-TEMPLATE-CLASS @OVERRIDE
$cfg->setConfigEntry('web_template_class', 'ConsoleTemplateEngine');
-// CFG: NODE-INIT-STATE-CLASS
-$cfg->setConfigEntry('node_init_state_class', 'NodeInitState');
-
-// CFG: NODE-VIRGIN-STATE-CLASS
-$cfg->setConfigEntry('node_virgin_state_class', 'NodeVirginState');
-
-// CFG: NODE-ACTIVE-STATE-CLASS
-$cfg->setConfigEntry('node_active_state_class', 'NodeActiveState');
-
-// CFG: NODE-ANNOUNCED-STATE-CLASS
-$cfg->setConfigEntry('node_announced_state_class', 'NodeAnnouncedState');
-
// CFG: NETWORK-PACKAGE-CLASS
$cfg->setConfigEntry('network_package_class', 'NetworkPackage');
$cfg->setConfigEntry('deco_package_compressor_class', 'NetworkPackageCompressorDecorator');
// CFG: RAW-PACKAGE-COMPRESSOR-CLASS
-$cfg->setConfigEntry('raw_package_compressor_class', 'GzipCompressor');
+$cfg->setConfigEntry('raw_package_compressor_class', 'ZlibCompressor');
// CFG: SOCKET-REGISTRY-CLASS
$cfg->setConfigEntry('socket_registry_class', 'SocketRegistry');
// CFG: PACKAGE-TAGS-CLASS
$cfg->setConfigEntry('package_tags_class', 'PackageTags');
-// CFG: TCP-CONNECTION-CLASS
-$cfg->setConfigEntry('tcp_connection_class', 'TcpConnectionHelper');
+// CFG: TCP-CONNECTION-HELPER-CLASS
+$cfg->setConfigEntry('tcp_connection_helper_class', 'TcpConnectionHelper');
-// CFG: UDP-CONNECTION-CLASS
-$cfg->setConfigEntry('udp_connection_class', 'UdpConnectionHelper');
+// CFG: UDP-CONNECTION-HELPER-CLASS
+$cfg->setConfigEntry('udp_connection_helper_class', 'UdpConnectionHelper');
// CFG: TCP-BUFFER-LENGTH
$cfg->setConfigEntry('tcp_buffer_length', 1024);
$cfg->setConfigEntry('udp_buffer_length', 1024);
// CFG: TCP-CONNECT-RETRY-MAX
-$cfg->setConfigEntry('tcp_connect_retry_max', 10);
+$cfg->setConfigEntry('tcp_connect_retry_max', 5);
// CFG: UDP-CONNECT-RETRY-MAX
-$cfg->setConfigEntry('udp_connect_retry_max', 10);
+$cfg->setConfigEntry('udp_connect_retry_max', 5);
+
+// CFG: TCP-SOCKET-ACCEPT-WAIT-SEC
+// @TODO This and the next value is very static again
+$cfg->setConfigEntry('tcp_socket_accept_wait_sec', 3);
-// CFG: PEER-STATE-LOOKUP-TABLE-CLASS
-$cfg->setConfigEntry('peer_state_lookup_table_class', 'PeerStateLookupTable');
+// CFG: TCP-SOCKET-ACCEPT-WAIT-USEC
+$cfg->setConfigEntry('tcp_socket_accept_wait_usec', 0);
-// CFG: PEER-STATE-CHECKED-PACKAGE-CLASS
-$cfg->setConfigEntry('peer_state_checked_package_class', 'NewConnectionPeerState');
+// CFG: NODE-STATE-CHECKED-PACKAGE-CLASS
+$cfg->setConfigEntry('node_state_checked_package_class', 'NewConnectionNodeState');
+
+// CFG: NODE-ID
+$cfg->setConfigEntry('node_id', '');
// CFG: SESSION-ID
$cfg->setConfigEntry('session_id', '');
+// CFG: PRIVATE-KEY
+$cfg->setConfigEntry('private_key', '');
+
+// CFG: PRIVATE-KEY-HASH
+$cfg->setConfigEntry('private_key_hash', '');
+
+// CFG: INTERNAL-IP
+$cfg->setConfigEntry('internal_ip', ConsoleTools::acquireSelfIPAddress());
+
// CFG: EXTERNAL-IP
$cfg->setConfigEntry('external_ip', '');
+// CFG: ALLOW-PUBLISH-INTERNAL-IP
+$cfg->setConfigEntry('allow_publish_internal_ip', 'N');
+
+// CFG: NODE-STATUS
+$cfg->setConfigEntry('node_status', 'invalid');
+
// CFG: PACKAGE-FRAGMENTER-CLASS
$cfg->setConfigEntry('package_fragmenter_class', 'PackageFragmenter');
+// CFG: PACKAGE-ASSEMBLER-CLASS
+$cfg->setConfigEntry('package_assembler_class', 'PackageAssembler');
+
// CFG: PACKAGE-CHUNK-SIZE
$cfg->setConfigEntry('package_chunk_size', 256*8);
// CFG: NODE-RAW-DATA-INPUT-STREAM-CLASS
$cfg->setConfigEntry('node_raw_data_input_stream_class', 'RawDataInputStream');
+// CFG: DEBUG-OUTPUT-TIMINGS
+$cfg->setConfigEntry('debug_output_timings', 'Y');
+
+// CFG: SOCKET-TIMEOUT-SECONDS
+$cfg->setConfigEntry('socket_timeout_seconds', 3);
+
+// CFG: SOCKET-TIMEOUT-MICROSECONDS
+$cfg->setConfigEntry('socket_timeout_microseconds', 0);
+
+// CFG: CHUNK-HANDLER-CLASS
+$cfg->setConfigEntry('chunk_handler_class', 'ChunkHandler');
+
+// CFG: PACKAGE-DECODER-CLASS
+$cfg->setConfigEntry('package_decoder_class', 'PackageDecoder');
+
+// CFG: PACKAGE-RECIPIENT-MAX-COUNT
+// @TODO This is very static, rewrite it to more flexible
+$cfg->setConfigEntry('package_recipient_max_count', 3);
+
+// CFG: NODE-DHT-CLASS
+$cfg->setConfigEntry('node_dht_class', 'NodeDhtFacade');
+
///////////////////////////////////////////////////////////////////////////////
-// Cruncher Configuration
+// Node states
+///////////////////////////////////////////////////////////////////////////////
+
+// CFG: NODE-INIT-STATE-CLASS
+$cfg->setConfigEntry('node_init_state_class', 'NodeInitState');
+
+// CFG: NODE-VIRGIN-STATE-CLASS
+$cfg->setConfigEntry('node_virgin_state_class', 'NodeVirginState');
+
+// CFG: NODE-ACTIVE-STATE-CLASS
+$cfg->setConfigEntry('node_active_state_class', 'NodeActiveState');
+
+// CFG: NODE-ANNOUNCED-STATE-CLASS
+$cfg->setConfigEntry('node_announced_state_class', 'NodeAnnouncedState');
+
+// CFG: NODE-REACHABLE-STATE-CLASS
+$cfg->setConfigEntry('node_reachable_state_class', 'NodeReachableState');
+
+// CFG: NODE-ANNOUNCEMENT-COMPLETED-STATE-CLASS
+$cfg->setConfigEntry('node_announcement_completed_state_class', 'NodeAnnouncementCompletedState');
+
+///////////////////////////////////////////////////////////////////////////////
+// Peer states
+///////////////////////////////////////////////////////////////////////////////
+
+// CFG: PEER-INIT-STATE-CLASS
+$cfg->setConfigEntry('peer_init_state_class', 'InitPeerState');
+
+// CFG: PEER-CONNECTED-STATE-CLASS
+$cfg->setConfigEntry('peer_connected_state_class', 'ConnectedPeerState');
+
+// CFG: PEER-PROBLEM-STATE-CLASS
+$cfg->setConfigEntry('peer_problem_state_class', 'ProblemPeerState');
+
+// CFG: PEER-CONNECTION-REFUSED-STATE-CLASS
+$cfg->setConfigEntry('peer_connection_refused_state_class', 'ConnectionRefusedPeerState');
+
+// CFG: PEER-CONNECTION-TIMED-OUT-STATE-CLASS
+$cfg->setConfigEntry('peer_connection_timed_out_state_class', 'ConnectionTimedOutPeerState');
+
+// CFG: PEER-TRANSPORT-ENDPOINT-STATE-CLASS
+$cfg->setConfigEntry('peer_transport_endpoint_state_class', 'TransportEndpointGonePeerState');
+
+// CFG: PEER-OPERATION-ALREADY-PROGRESS-STATE-CLASS
+$cfg->setConfigEntry('peer_operation_already_progress_state_class', 'OperationAlreadyProgressPeerState');
+
+// CFG: PEER-NO-ROUTE-TO-HOST-STATE-CLASS
+$cfg->setConfigEntry('peer_no_route_to_host_state_class', 'NoRouteToHostPeerState');
+
+///////////////////////////////////////////////////////////////////////////////
+// DHT states
+///////////////////////////////////////////////////////////////////////////////
+
+// CFG: DHT-INIT-STATE-CLASS
+$cfg->setConfigEntry('dht_init_state_class', 'DhtInitState');
+
+// CFG: DHT-VIRGIN-STATE-CLASS
+$cfg->setConfigEntry('dht_virgin_state_class', 'DhtVirginState');
+
+// CFG: DHT-BOOTING-STATE-CLASS
+$cfg->setConfigEntry('dht_booting_state_class', 'DhtBootingState');
+
+// CFG: DHT-ACTIVE-STATE-CLASS
+$cfg->setConfigEntry('dht_active_state_class', 'DhtActiveState');
+
+///////////////////////////////////////////////////////////////////////////////
+// Message answer-status handler
+///////////////////////////////////////////////////////////////////////////////
+
+// CFG: ANNOUNCEMENT-ANSWER-STATUS-OKAY-HANDLER-CLASS
+$cfg->setConfigEntry('announcement_answer_status_okay_handler_class', 'AnnouncementAnswerOkayHandler');
+
+// CFG: REQUEST-NODE-LIST-ANSWER-STATUS-OKAY-HANDLER-CLASS
+$cfg->setConfigEntry('request_node_list_answer_status_okay_handler_class', 'RequestNodeListAnswerOkayHandler');
+
+///////////////////////////////////////////////////////////////////////////////
+// Recipient resolver
+///////////////////////////////////////////////////////////////////////////////
+
+// CFG: DIRECT-RECIPIENT-CLASS
+$cfg->setConfigEntry('direct_recipient_class', 'DirectRecipient');
+
+// CFG: DHT-RECIPIENT-CLASS
+$cfg->setConfigEntry('dht_recipient_class', 'DhtRecipient');
+
+// CFG: SELF-RECIPIENT-CLASS
+$cfg->setConfigEntry('self_recipient_class', 'SelfRecipient');
+
+// CFG: UPPER-RECIPIENT-CLASS
+$cfg->setConfigEntry('upper_recipient_class', 'UpperRecipient');
+
+///////////////////////////////////////////////////////////////////////////////
+// Cruncher configuration
///////////////////////////////////////////////////////////////////////////////
// CFG: CRUNCHER-DEFAULT-MODE (can be only 'mcrypt' at the moment)
// CFG: CRUNCHER-WELCOME-TEASER-FILTER
$cfg->setConfigEntry('cruncher_welcome_teaser_filter', 'CruncherWelcomeTeaserFilter');
-// CFG: CRUNCHER-SHUTDOWN-CRUNCHER-FILTER
-$cfg->setConfigEntry('cruncher_shutdown_cruncher_filter', 'CruncherShutdownCruncherFilter');
+// CFG: CRUNCHER-SHUTDOWN-FILTER
+$cfg->setConfigEntry('cruncher_shutdown_filter', 'CruncherShutdownFilter');
// CFG: CRUNCHER-WORK-UNIT-FETCHER-TASK-CLASS
$cfg->setConfigEntry('cruncher_work_unit_fetcher_task_class', 'CruncherWorkUnitFetcherTask');
// CFG: CRUNCHER-TEST-UNIT-PRODUCER-TEMPLATE-CLASS
$cfg->setConfigEntry('cruncher_test_unit_producer_template_class', 'XmlCruncherTestUnitTemplateEngine');
+// CFG: CRUNCHER-MESSAGE-TEMPLATE-EXTENSION
+$cfg->setConfigEntry('cruncher_message_template_extension', '.xml');
+
// CFG: CRUNCHER-TEST-UNIT-TEMPLATE-EXTENSION
$cfg->setConfigEntry('cruncher_test_unit_template_extension', '.xml');
// CFG: STACKER-CRUNCHER-TEST-UNIT-MAX-SIZE
$cfg->setConfigEntry('stacker_cruncher_test_unit_max_size', 20);
+// CFG: STACKER-OUTGOING-QUEUE-MAX-SIZE
+$cfg->setConfigEntry('stacker_outgoing_queue_max_size', 2000);
+
// CFG: CRUNCHER-TEST-UNIT-MAX-COUNT
$cfg->setConfigEntry('cruncher_test_unit_max_count', 1000);
// CFG: CRUNCHER-RANDOM-SECRET-MESSAGE-LENGTH
$cfg->setConfigEntry('random_secret_message_length', 100);
+// CFG: TEST-UNIT-PRODUCER-KEY-ITERATOR-CLASS
+$cfg->setConfigEntry('test_unit_producer_key_iterator_class', 'TestUnitKeyProducerIterator');
+
+// CFG: WORK-UNIT-PRODUCER-KEY-ITERATOR-CLASS
+$cfg->setConfigEntry('work_unit_producer_key_iterator_class', 'WorkUnitKeyProducerIterator');
+
// CFG: TEST-UNIT-RANDOM-SECRET-KEY-LENGTH
$cfg->setConfigEntry('test_unit_random_secret_key_length', 8*4);
$cfg->setConfigEntry('cruncher_virgin_state_class', 'CruncherVirginState');
// CFG: CRUNCHER-PER-UNIT-KEY-LIMIT
-$cfg->setConfigEntry('cruncher_per_unit_key_limit', 10000);
+$cfg->setConfigEntry('cruncher_per_unit_key_limit', 1000);
+
+///////////////////////////////////////////////////////////////////////////////
+// Chat Configuration
+///////////////////////////////////////////////////////////////////////////////
+
+// CFG: HUBCONSOLE-CMD-CHAT-RESOLVER-CLASS
+$cfg->setConfigEntry('hubconsole_cmd_chat_resolver_class', 'HubConsoleCommandResolver');
+
+// CFG: CHAT-PHP-REQUIREMENTS-FILTER
+$cfg->setConfigEntry('chat_php_requirements_filter', 'ChatPhpRequirementsFilter');
+
+// CFG: CHAT-INITIALIZER-FILTER
+$cfg->setConfigEntry('chat_initializer_filter', 'ChatInitializationFilter');
+
+// CFG: NODE-CONSOLE-CHAT
+$cfg->setConfigEntry('node_console_chat_class', 'NodeConsoleChat');
+
+// CFG: CHAT-WELCOME-TEASER-FILTER
+$cfg->setConfigEntry('chat_welcome_teaser_filter', 'ChatWelcomeTeaserFilter');
+
+// CFG: CHAT-BOOTSTRAP-TASK-HANDLER-INITIALIZER-FILTER
+$cfg->setConfigEntry('chat_bootstrap_task_handler_initializer_filter', 'ChatTaskHandlerInitializerFilter');
+
+// CFG: CHAT-BOOTSTRAP-EXTRA-BOOTSTRAPPING-FILTER
+$cfg->setConfigEntry('chat_bootstrap_extra_bootstrapping_filter', 'ChatBootstrapExtraBootstrappingFilter');
+
+// CFG: CHAT-BOOTSTRAP-GENERIC-ACTIVATION-FILTER
+$cfg->setConfigEntry('chat_bootstrap_generic_activation_filter', 'ChatBootstrapGenericActivationFilter');
+
+// CFG: CHAT-SHUTDOWN-FILTER
+$cfg->setConfigEntry('chat_shutdown_filter', 'ChatShutdownFilter');
+
+// CFG: CHAT-TELNET-LISTENER-TASK-CLASS
+$cfg->setConfigEntry('chat_telnet_listener_task_class', 'ChatTelnetListenerTask');
+
+// CFG: TASK-CHAT-TELNET-LISTENER-STARTUP-DELAY
+$cfg->setConfigEntry('task_chat_telnet_listener_startup_delay', 2500);
+
+// CFG: TASK-CHAT-TELNET-LISTENER-INTERVAL-DELAY
+$cfg->setConfigEntry('task_chat_telnet_listener_interval_delay', 10);
+
+// CFG: TASK-CHAT-TELNET-LISTENER-MAX-RUNS
+$cfg->setConfigEntry('task_chat_telnet_listener_max_runs', 0);
+
+///////////////////////////////////////////////////////////////////////////////
+// HTTP Configuration
+///////////////////////////////////////////////////////////////////////////////
+
+// CFG: DEFAULT-WEB-COMMAND
+$cfg->setConfigEntry('default_web_command', 'home');
+
+// CFG: WEB-CMD-HOME-RESOLVER-CLASS
+$cfg->setConfigEntry('web_cmd_home_resolver_class', 'WebCommandResolver');
+
+// CFG: NEWS-HOME-LIMIT
+$cfg->setConfigEntry('news_home_limit', 10);
+
+///////////////////////////////////////////////////////////////////////////////
+// Apt-Proxy Configuration
+///////////////////////////////////////////////////////////////////////////////
+
+// CFG: HUBCONSOLE-CMD-APT-PROXY-RESOLVER-CLASS
+$cfg->setConfigEntry('hubconsole_cmd_apt_proxy_resolver_class', 'HubConsoleCommandResolver');
+
+// CFG: APT-PROXY-PHP-REQUIREMENTS-FILTER
+$cfg->setConfigEntry('apt_proxy_php_requirements_filter', 'AptProxyPhpRequirementsFilter');
+
+// CFG: APT-PROXY-INITIALIZER-FILTER
+$cfg->setConfigEntry('apt_proxy_initializer_filter', 'AptProxyInitializationFilter');
+
+// CFG: NODE-CONSOLE-APT-PROXY
+$cfg->setConfigEntry('node_console_apt_proxy_class', 'NodeConsoleAptProxy');
+
+// CFG: APT-PROXY-WELCOME-TEASER-FILTER
+$cfg->setConfigEntry('apt_proxy_welcome_teaser_filter', 'AptProxyWelcomeTeaserFilter');
+
+// CFG: APT-PROXY-BOOTSTRAP-TASK-HANDLER-INITIALIZER-FILTER
+$cfg->setConfigEntry('apt_proxy_bootstrap_task_handler_initializer_filter', 'AptProxyTaskHandlerInitializerFilter');
+
+// CFG: APT-PROXY-BOOTSTRAP-EXTRA-BOOTSTRAPPING-FILTER
+$cfg->setConfigEntry('apt_proxy_bootstrap_extra_bootstrapping_filter', 'AptProxyBootstrapExtraBootstrappingFilter');
+
+// CFG: APT-PROXY-BOOTSTRAP-GENERIC-ACTIVATION-FILTER
+$cfg->setConfigEntry('apt_proxy_bootstrap_generic_activation_filter', 'AptProxyBootstrapGenericActivationFilter');
+
+// CFG: APT-PROXY-SHUTDOWN-FILTER
+$cfg->setConfigEntry('apt_proxy_shutdown_filter', 'AptProxyShutdownFilter');
+
+// CFG: APT-PROXY-LISTENER-TASK-CLASS
+$cfg->setConfigEntry('apt_proxy_listener_task_class', 'AptProxyListenerTask');
+
+// CFG: TASK-APT-PROXY-LISTENER-STARTUP-DELAY
+$cfg->setConfigEntry('task_apt_proxy_listener_startup_delay', 2500);
+
+// CFG: TASK-APT-PROXY-LISTENER-INTERVAL-DELAY
+$cfg->setConfigEntry('task_apt_proxy_listener_interval_delay', 10);
+
+// CFG: TASK-APT-PROXY-LISTENER-MAX-RUNS
+$cfg->setConfigEntry('task_apt_proxy_listener_max_runs', 0);
// [EOF]
?>