real_core::real_core(const config & conf) : config_(conf), instrumentation_(conf), executor_pool_(instrumentation_, conf), main_loop_(make_main_async_loop()), scheduler_(new real_scheduler()), externals_(new real_external(conf, instrumentation_)), streams_(new streams(conf, instrumentation_)), pubsub_(new pub_sub()), index_(new real_index(*pubsub_, [=](e_t e) { streams_->push_event(e); }, conf.index_expire_interval, *scheduler_, instrumentation_, detach_thread)), tcp_server_(init_tcp_server(conf, *main_loop_, *streams_, executor_pool_, instrumentation_)), udp_server_(init_udp_server(conf, streams_)), ws_server_(init_ws_server(conf, *main_loop_, *pubsub_, *index_)) { if (conf.enable_internal_metrics) { start_instrumentation(*scheduler_, instrumentation_, *streams_); } }
int start_mock_dvr(smts_tcp_server_t *tcp_server, uv_loop_t *loop, int port) { int r = 0; r = init_tcp_server(tcp_server, loop, port); r = start_tcp_server(tcp_server, NULL, on_mock_dvr_connect_cb); CL_INFO("start mock dvr on port:%d.\n", port); return r; }