int knet_framework_raiser_start(kframework_raiser_t* raiser) { int error = 0; kframework_config_t* config = 0; kframework_acceptor_config_t* ac = 0; kframework_connector_config_t* cc = 0; kdlist_node_t* node = 0; kdlist_node_t* temp = 0; kdlist_t* acceptor_config = 0; kdlist_t* connector_config = 0; verify(raiser); config = knet_framework_get_config(raiser->f); /* 关联到负载均衡器,监听器所有新连接都会被分派到工作线程处理 */ knet_loop_balancer_attach(knet_framework_get_balancer(raiser->f), raiser->loop); verify(config); /* 建立监听管道 */ acceptor_config = framework_config_get_acceptor_config(config); dlist_for_each_safe(acceptor_config, node, temp) { ac = (kframework_acceptor_config_t*)dlist_node_get_data(node); error = _create_acceptor_channel(ac, raiser->loop); if (error_ok != error) { return error; } }
kframework_config_t* knet_node_config_get_framework_config(knode_config_t* c) { verify(c); return knet_framework_get_config(knet_node_get_framework(c->node)); }