*/
// 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-LIST-DB-WRAPPER-CLASS
$cfg->setConfigEntry('node_list_db_wrapper_class', 'NodeListDatabaseWrapper');
-// CFG: NODE-LOOKUP-DB-WRAPPER-CLASS
-$cfg->setConfigEntry('node_state_lookup_db_wrapper_class', 'NodeStateLookupDatabaseWrapper');
+// 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: 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: 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: PRODUCER-OUTGOING-QUEUE
$cfg->setConfigEntry('producer_outgoing_queue', 'FiFoStacker');
// CFG: STACKER-PACKAGE-OUTGOING-MAX-SIZE
$cfg->setConfigEntry('stacker_package_outgoing_max_size', 100);
+// CFG: STACKER-PACKAGE-DECODED-DATA-MAX-SIZE
+$cfg->setConfigEntry('stacker_package_decoded_data_max_size', 200);
+
+// CFG: STACKER-PACKAGE-HANDLED-DECODED-MAX-SIZE
+$cfg->setConfigEntry('stacker_package_handled_decoded_max_size', 200);
+
+// CFG: STACKER-PACKAGE-CHUNKED-DECODED-MAX-SIZE
+$cfg->setConfigEntry('stacker_package_chunked_decoded_max_size', 800);
+
// CFG: STACKER-PACKAGE-BACKBUFFER-MAX-SIZE
$cfg->setConfigEntry('stacker_package_backbuffer_max_size', 1000);
// CFG: STACKER-DECODED-DATA-MAX-SIZE
$cfg->setConfigEntry('stacker_decoded_data_max_size', 100);
-// CFG: STACKER-PACKAGE-DECODED-DATA-MAX-SIZE
-$cfg->setConfigEntry('stacker_package_decoded_data_max_size', 200);
+// CFG: STACKER-FINAL-CHUNKS-MAX-SIZE
+$cfg->setConfigEntry('stacker_final_chunks_max_size', 100);
-// CFG: STACKER-PACKAGE-HANDLED-DECODED-MAX-SIZE
-$cfg->setConfigEntry('stacker_package_handled_decoded_max_size', 200);
+// 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: NEWS-MAIN-LIMIT
$cfg->setConfigEntry('news_main_limit', 5);
// CFG: HUB-SOCKET-LISTENER-TASK-CLASS
$cfg->setConfigEntry('hub_socket_listener_task_class', 'HubSocketListenerTask');
+// CFG: HUB-CHUNK-ASSEMBLER-TASK-CLASS
+$cfg->setConfigEntry('hub_chunk_assembler_task_class', 'HubChunkAssemblerTask');
+
+// CFG: HUB-PACKAGE-DECODER-TASK-CLASS
+$cfg->setConfigEntry('hub_package_decoder_task_class', 'HubPackageDecoderTask');
+
// 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-CHUNK-ASSEMBLER-STATUP-DELAY
+$cfg->setConfigEntry('task_chunk_assembler_startup_delay', 1500);
+
+// CFG: TASK-PACKAGE-DECODER-STATUP-DELAY
+$cfg->setConfigEntry('task_package_decoder_startup_delay', 1300);
+
+// CFG: TASK-CHUNK-ASSEMBLER-INTERVAL-DELAY
+$cfg->setConfigEntry('task_chunk_assembler_interval_delay', 10);
+
+// CFG: TASK-PACKAGE-DECODER-INTERVAL-DELAY
+$cfg->setConfigEntry('task_package_decoder_interval_delay', 10);
+
+// CFG: TASK-CHUNK-ASSEMBLER-MAX-RUNS
+$cfg->setConfigEntry('task_chunk_assembler_max_runs', 0);
+
+// CFG: TASK-PACKAGE-DECODER-MAX-RUNS
+$cfg->setConfigEntry('task_package_decoder_max_runs', 0);
+
// CFG: TASK-LIST-CLASS
$cfg->setConfigEntry('task_list_class', 'TaskList');
// 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->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->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: NODE-STATE-LOOKUP-TABLE-CLASS
-$cfg->setConfigEntry('node_state_lookup_table_class', 'NodeStateLookupTable');
+$cfg->setConfigEntry('udp_connect_retry_max', 5);
// CFG: NODE-STATE-CHECKED-PACKAGE-CLASS
$cfg->setConfigEntry('node_state_checked_package_class', 'NewConnectionNodeState');
// 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');
+
///////////////////////////////////////////////////////////////////////////////
-// Cruncher Configuration
+// 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-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');
+
+///////////////////////////////////////////////////////////////////////////////
+// Cruncher configuration
///////////////////////////////////////////////////////////////////////////////
// CFG: CRUNCHER-DEFAULT-MODE (can be only 'mcrypt' at the moment)
// 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: 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);
+
// [EOF]
?>