// 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-GENERATE-PRIVATE-KEY-FILTER
+$cfg->setConfigEntry('node_bootstrap_generate_private_key_filter', 'NodeBootstrapGeneratePrivateKeyFilter');
+
// CFG: NODE-BOOTSTRAP-RESTORE-NODELIST-FILTER
$cfg->setConfigEntry('node_bootstrap_restore_nodelist_filter', 'NodeBootstrapRestoreNodeListFilter');
// 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: 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-MESSAGE-TEMPLATE-EXTENSION
+$cfg->setConfigEntry('node_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-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: 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-UNDECLARED-MAX-SIZE
$cfg->setConfigEntry('stacker_package_undeclared_max_size', 10000);
// CFG: STACKER-OUT-QUEUE-MAX-SIZE
$cfg->setConfigEntry('stacker_out_queue_max_size', 10000);
-// CFG: STACKER-OBJECT-REGISTRY-MAX-SIZE
-$cfg->setConfigEntry('stacker_object_registry_max_size', 100);
+// CFG: STACKER-NODE-OBJECT-REGISTRY-MAX-SIZE
+$cfg->setConfigEntry('stacker_node_object_registry_max_size', 100);
// CFG: STACKER-OUTGOING-QUEUE-MAX-SIZE
$cfg->setConfigEntry('stacker_outgoing_queue_max_size', 100000);
// CFG: STACKER-INCOMING-QUEUE-MAX-SIZE
$cfg->setConfigEntry('stacker_incoming_queue_max_size', 100000);
-// CFG: STACKER-DECODED-DATA-MAX-SIZE
-$cfg->setConfigEntry('stacker_decoded_data_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: 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');
+
// CFG: NETWORK-PACKAGE-CLASS
$cfg->setConfigEntry('network_package_class', 'NetworkPackage');
// CFG: UDP-CONNECT-RETRY-MAX
$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: TCP-SOCKET-ACCEPT-WAIT-USEC
+$cfg->setConfigEntry('tcp_socket_accept_wait_usec', 0);
+
// 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-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);
+
///////////////////////////////////////////////////////////////////////////////
// Peer states
///////////////////////////////////////////////////////////////////////////////
// CFG: PEER-NO-ROUTE-TO-HOST-STATE-CLASS
$cfg->setConfigEntry('peer_no_route_to_host_state_class', 'NoRouteToHostPeerState');
+///////////////////////////////////////////////////////////////////////////////
+// Message answer-status handler
+///////////////////////////////////////////////////////////////////////////////
+
+// CFG: ANNOUNCEMENT-ANSWER-STATUS-OKAY-HANDLER-CLASS
+$cfg->setConfigEntry('announcement_answer_status_okay_handler_class', 'AnnouncementAnswerOkayHandler');
+
///////////////////////////////////////////////////////////////////////////////
// Cruncher configuration
///////////////////////////////////////////////////////////////////////////////
// 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: NEWS-HOME-LIMIT
$cfg->setConfigEntry('news_home_limit', 10);
+///////////////////////////////////////////////////////////////////////////////
+// Apt-Aproxy 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]
?>