X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=src%2Fprotocol_edge.c;h=18615ce049d67ae7b4d2c95a22e4fbf7a40d1963;hb=d02bbd19c40e977f019d2c8bc80fe57059946d6e;hp=28e2e7b44ffb44b98c01ce79d83bc50cf3c9e625;hpb=1e3d251b5c65e49a1d4ed89d4154a1837ddd4f08;p=meshlink-tiny diff --git a/src/protocol_edge.c b/src/protocol_edge.c index 28e2e7b..18615ce 100644 --- a/src/protocol_edge.c +++ b/src/protocol_edge.c @@ -31,56 +31,20 @@ #include "utils.h" #include "xalloc.h" -#if 0 -bool send_add_edge(meshlink_handle_t *mesh, connection_t *c, const edge_t *e, int contradictions) { - bool x; +bool send_add_edge(meshlink_handle_t *mesh, connection_t *c, int contradictions) { char *address, *port; - const char *from_submesh, *to_submesh; - const submesh_t *s = NULL; - - if(c->node && c->node->submesh) { - if(!submesh_allows_node(e->from->submesh, c->node)) { - return true; - } - - if(!submesh_allows_node(e->to->submesh, c->node)) { - return true; - } - } - - if(e->from->submesh && e->to->submesh && (e->from->submesh != e->to->submesh)) { - return true; - } + sockaddr2str(&c->address, &address, &port); - sockaddr2str(&e->address, &address, &port); + bool result = send_request(mesh, c, "%d %x %s %d %s %s %s %s %d %s %x %d %d %x", ADD_EDGE, prng(mesh, UINT_MAX), + mesh->self->name, mesh->self->devclass, CORE_MESH, + mesh->peer->name, address, port, + mesh->peer->devclass, CORE_MESH, 0, 1000, contradictions, mesh->peer->session_id); - if(e->from->submesh) { - from_submesh = e->from->submesh->name; - } else { - from_submesh = CORE_MESH; - } - - if(e->to->submesh) { - to_submesh = e->to->submesh->name; - } else { - to_submesh = CORE_MESH; - } - - if(e->from->submesh) { - s = e->from->submesh; - } else { - s = e->to->submesh; - } - - x = send_request(mesh, c, s, "%d %x %s %d %s %s %s %s %d %s %x %d %d %x", ADD_EDGE, prng(mesh, UINT_MAX), - e->from->name, e->from->devclass, from_submesh, e->to->name, address, port, - e->to->devclass, to_submesh, OPTION_PMTU_DISCOVERY, e->weight, contradictions, e->from->session_id); free(address); free(port); - return x; + return result; } -#endif bool add_edge_h(meshlink_handle_t *mesh, connection_t *c, const char *request) { assert(request);