Esempio n. 1
0
int switch_init(struct switch_cfg *cfg)
{
	switch_cfg = cfg;
	switch_cfg->switch_running = 1;

	switch_netc = net_server(switch_cfg->listen_ip, switch_cfg->listen_port, NET_PROTO_UDT, NET_SECURE_ADH, NULL,
		on_connect, on_disconnect, on_input, on_secure);

	if (switch_netc == NULL) {
		jlog(L_ERROR, "net_server failed");
		return -1;
	}

	context_init();

	pthread_t thread_loop;
	pthread_attr_t attr;

	pthread_attr_init(&attr);
	pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);

	pthread_create(&thread_loop, &attr, switch_loop, NULL);

	return 0;
}
Esempio n. 2
0
int dsd_init(struct dsd_cfg *cfg)
{
	dsd_cfg = cfg;
	dsd_cfg->dsd_running = 1;

	dsd_passport = pki_passport_load_from_file(dsd_cfg->certificate, dsd_cfg->privatekey, dsd_cfg->trusted_cert);

	dsd_netc = net_server(dsd_cfg->ipaddr, dsd_cfg->port, NET_PROTO_TCP, NET_SECURE_RSA, dsd_passport,
			on_connect, on_disconnect, on_input, on_secure);

	if (dsd_netc == NULL) {
		jlog(L_NOTICE, "net_server failed");
		return -1;
	}

	pthread_t thread_loop;
	pthread_attr_t attr;

	pthread_attr_init(&attr);
	pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);

	pthread_create(&thread_loop, &attr, dsd_loop, NULL);

	return 0;
}