int main(int argc, char *argv[]) { struct nodeID *my_sock; pthread_t cycle_id, recv_id; cmdline_parse(argc, argv); my_sock = init(); if (my_sock == NULL) { return -1; } if (srv_port != 0) { struct nodeID *knownHost; knownHost = create_node(srv_ip, srv_port); if (knownHost == NULL) { fprintf(stderr, "Error creating knownHost socket (%s:%d)!\n", srv_ip, srv_port); return -1; } psample_add_peer(context, knownHost, NULL, 0); } pthread_mutex_init(&neigh_lock, NULL); pthread_create(&recv_id, NULL, recv_loop, my_sock); pthread_create(&cycle_id, NULL, cycle_loop, my_sock); pthread_join(recv_id, NULL); pthread_join(cycle_id, NULL); return 0; }
int topoAddNeighbour(struct nodeID *neighbour, void *metadata, int metadata_size) { // TODO: check this!! Just to use this function to bootstrap ncast... if (counter < TMAN_MAX_IDLE) return psample_add_peer(context,neighbour,metadata,metadata_size); else return tmanAddNeighbour(neighbour,metadata,metadata_size); }
int main(int argc, char *argv[]) { struct nodeID *cloudHost; struct context *con; if (cmdline_parse(argc, argv) != 0){ fprintf(stderr, "Error parsing parameters!\n"); return 1; } if (!cloud_conf){ fprintf(stderr, "No cloud configuration provided!\n"); return 1; } con = init(); if (!con){ fprintf(stderr, "Error initializing!\n"); return 1; } cloudHost = get_cloud_node(con->cloud_context, 0); psample_add_peer(con->ps_context, cloudHost, NULL, 0); nodeid_free(cloudHost); loop(con); fprintf(stderr, "Quitting!\n"); return 0; }