From 733ef19ab996933c361f5b4f65fd768148a2d07b Mon Sep 17 00:00:00 2001 From: Saverio Proto Date: Fri, 8 Aug 2014 14:16:20 +0000 Subject: [PATCH] manynodes example: committed /test command to test if it is possible to succefully deliver data among the nodes --- examples/manynodes.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/examples/manynodes.c b/examples/manynodes.c index 991d5ba6..2c154f94 100644 --- a/examples/manynodes.c +++ b/examples/manynodes.c @@ -14,6 +14,27 @@ static meshlink_handle_t **mesh; static meshlink_node_t **nodes; static size_t nnodes; +//Test mesh sending data +static void testmesh () { + + for(int nindex = 0; nindex < n; nindex++) { + + nodes = meshlink_get_all_nodes(mesh[nindex], nodes, &nnodes); + if(!nodes) { + fprintf(stderr, "Could not get list of nodes: %s\n", meshlink_strerror(meshlink_errno)); + } else { + printf("%zu known nodes:", nnodes); + for(int i = 0; i < nnodes; i++) { + printf(" %s", nodes[i]->name); + if(!meshlink_send(mesh[nindex], nodes[i], "magic", strlen("magic") + 1)) { + fprintf(stderr, "Could not send message to '%s': %s\n", nodes[i]->name, meshlink_strerror(meshlink_errno)); + } + } + + } + + } +} // Make all nodes know about each other by importing each others public keys and addresses. static void linkmesh() { for(int i = 0; i < n; i++) { @@ -99,6 +120,8 @@ static void parse_command(char *buf) { } } else if(!strcasecmp(buf, "link")) { linkmesh(); + } else if(!strcasecmp(buf, "test")) { + testmesh(); } else if(!strcasecmp(buf, "quit")) { printf("Bye!\n"); fclose(stdin); @@ -111,6 +134,7 @@ static void parse_command(char *buf) { "/kick Blacklist the given node.\n" "/who [] List all nodes or show information about the given node.\n" "/link Link all nodes together.\n" + "/test Test functionality sending some data to all nodes\n" "/quit Exit this program.\n" ); } else { -- 2.39.2