Пример #1
0
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;
        }
    }
Пример #2
0
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));
}