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);
    }
}
示例#3
0
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;
}
示例#4
0
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);
}