Beispiel #1
0
int context_create(uint32_t id, char *address, char *netmask,
			char *serverCert, char *serverPrivkey, char *trustedCert)
{
	(void)address;
	(void)netmask;

	context_t *context;

	context = (context_t*)malloc(sizeof(context_t));
	context_table[id] = context;

	context->id = id;

	context->passport = pki_passport_load_from_memory(serverCert, serverPrivkey, trustedCert);

	bitpool_new(&context->bitpool, MAX_NODE);
	context->linkst = linkst_new(MAX_NODE, TIMEOUT_SEC);
	context->active_node = 0;

	context->session_list = NULL;
	context->access_session = session_new();

	context->ftable = ftable_new(MAX_NODE, session_itemdup, session_itemrel);
	context->ctable = ctable_new(MAX_NODE, session_itemdup, session_itemrel);
	context->atable = ctable_new(MAX_NODE, session_itemdup, session_itemrel);

	return 0;
}
Beispiel #2
0
int main()
{
	int init_matrix_size = 1;
	linkst_t *linkst = NULL;

	/* there is 4 active nodee */
	int idx_a, idx_b, idx_c, idx_d;

	idx_a = 1;
	idx_b = 2;
	idx_c = 3;
	idx_d = 100;

	linkst = linkst_new(100, 3);

	linkst_join(linkst, idx_a, idx_b);

	if (linkst_joined(linkst, idx_a, idx_b) != 1) {
		printf("%d // %d\n", idx_a, idx_b);
		goto out;
	}

	linkst_join(linkst, idx_a, idx_d);

	if (linkst_joined(linkst, idx_a, idx_d) != 1) {
		printf("%d // %d\n", idx_a, idx_d);
		goto out;
	}

	int state;
	int i = 4;

	while (i--) {

		state = linkst_joined(linkst, idx_a, idx_b);
		printf("state [%d] || [%d] %s [%d]\n", state, idx_a, state == 1 ? "<==>": "//", idx_b);

		state = linkst_joined(linkst, idx_a, idx_c);
		printf("state [%d] || [%d] %s [%d]\n", state, idx_a, state == 1 ? "<==>": "//", idx_c);

		printf("\n\n");

		sleep(1);
	}
	printf("out of loop\n");

	linkst_join(linkst, idx_a, idx_b);
	linkst_join(linkst, idx_a, idx_d);

	linkst_disjoin(linkst, idx_a);

	state = linkst_joined(linkst, idx_a, idx_b);
	printf("state [%d] || [%d] %s [%d]\n", state, idx_a, state == 1 ? "<==>": "//", idx_b);

	state = linkst_joined(linkst, idx_a, idx_c);
	printf("state [%d] || [%d] %s [%d]\n", state, idx_a, state == 1 ? "<==>": "//", idx_c);

	printf("\n\n");

out:
	linkst_free(linkst);
}