group_adapter_centralized::group_adapter_centralized( ACE_Reactor *r ) : group_adapter_base(r), _cgrp(NULL) { // TODO needs global config.h or from fxsettings _grp_id = net_conf()->get_value("net_centralized/server") + ':' + net_conf()->get_value("net_centralized/port"); ACE_DEBUG((LM_DEBUG, "group_adapter_centralized: group id: %s\n", _grp_id.c_str())); }
group_adapter_combine::group_adapter_combine( ACE_Reactor *r ) : group_adapter(r) { ACE_DEBUG((LM_DEBUG, "group_adapter_combine:ctor\n")); if (!net_conf()->get<bool>("net_centralized/disable", false)) _gas.push_back(new group_adapter_centralized(r)); else _report_disabled.push_back(message::ctz_group_base); if (!net_conf()->get<bool>("net_serverless/disable", false)) { ACE_DEBUG((LM_DEBUG, "group_adapter_combine:ctor net_serverless enabled\n")); _gas.push_back(new group_adapter_serverless (r)); } else { ACE_DEBUG((LM_DEBUG, "group_adapter_combine:ctor net_serverless disabled\n")); _report_disabled.push_back(message::dht_group_base); } }
ldc_diag_t * diag(int log, ldc_info_t * info) { ldc_info_t * current_info; ldc_diag_t * head = NULL; ldc_diag_t * tail = NULL; for (current_info = info; current_info != NULL; current_info = current_info->next) { tail = new_ldc_diag_t("wireless"); head = enqueue_ldc_diag_t(head, tail); // find the logical_name in info tuple_t * current_tuple; for (current_tuple = current_info->info; current_tuple != NULL && strcmp(current_tuple->name, "device_file") != 0; current_tuple = current_tuple->next); if (current_tuple) { char name[100]; char value[1000]; int id; char description[100]; char *net_dev = current_tuple->value; if (strcmp(net_dev, "") == 0){ SETUP_TUPLE("device_file", net_dev, -1, "Netcard Device File"); tail->info = enqueue_new_tuple_t(tail->info, name, value, id, description); add_diag_tuple(tail, "mac", "None", -1, "MAC Address"); add_diag_tuple(tail, "ip", "None", -1, "IP Address"); add_diag_tuple(tail, "netmask", "None", -1, "Netmask"); add_diag_tuple(tail, "link_up", "None", -1, "Link UP"); add_diag_tuple(tail, "dns_server", "None", -1, "DNS Server"); add_diag_tuple(tail, "gateway", "None", -1, "Default Gateway"); } else { SETUP_TUPLE("device_file", net_dev, -1, "Netcard Device File"); tail->info = enqueue_new_tuple_t(tail->info, name, value, id, description); net_link(net_dev, tail); net_mac(net_dev, tail); net_conf(net_dev, tail); net_dns(tail); net_gw(net_dev, tail); } } } if (log){ insert_diag_log(head); } return head; }
void net_test(void) { T_CSEM csem; T_CTSK ctsk; printf(" == net test == \n"); net_conf(NET_CONF_EMULATOR, NET_CONF_DHCP); net_show(); csem.maxsem = 100; csem.isemcnt = 0; csem.sematr = TA_TFIFO | TA_FIRST; semid = tk_cre_sem(&csem); semid2 = tk_cre_sem(&csem); bzero(&ctsk, sizeof ctsk); ctsk.tskatr = TA_HLNG | TA_RNG0; ctsk.task = server_task; ctsk.itskpri = 100; ctsk.stksz = 32 * 1024 * 2; server_tskid = tk_cre_tsk(&ctsk); DEBUG_PRINT(("start server task %d\n", server_tskid)); tk_sta_tsk(server_tskid, 0); DEBUG_PRINT(("wait server semaphore\n")); tk_wai_sem(semid, 1, TMO_FEVR); bzero(&ctsk, sizeof ctsk); ctsk.tskatr = TA_HLNG | TA_RNG0; ctsk.task = client_task; ctsk.itskpri = 101; ctsk.stksz = 4 * 1024 * 2; client_tskid = tk_cre_tsk(&ctsk); DEBUG_PRINT(("start client task %d\n", client_tskid)); tk_sta_tsk(client_tskid, 0); DEBUG_PRINT(("waiting for server and client semaphore\n")); tk_wai_sem(semid, 2, TMO_FEVR); printf(" == net test end == \n"); tk_del_sem(semid); tk_del_sem(semid2); }