mesh->confbase = xstrdup(confbase);
mesh->name = xstrdup(name);
event_loop_init(&mesh->loop);
+ mesh->loop.data = mesh;
set_mesh(mesh);
// TODO: should be set by a function.
// Setup up everything
// TODO: we should not open listening sockets yet
- if(!setup_network())
+ if(!setup_network(mesh))
return meshlink_close(mesh), NULL;
return mesh;
void *meshlink_main_loop(void *arg) {
meshlink_handle_t *mesh = arg;
- try_outgoing_connections();
+ try_outgoing_connections(mesh);
- main_loop();
+ main_loop(mesh);
return NULL;
}
void meshlink_close(meshlink_handle_t *mesh) {
// Close and free all resources used.
- close_network_connections();
+ close_network_connections(mesh);
logger(DEBUG_ALWAYS, LOG_NOTICE, "Terminating");