X-Git-Url: http://git.meshlink.io/?p=meshlink;a=blobdiff_plain;f=test%2Fchannels-aio-fd.c;h=3d0a9fea733eb25c9467869cc89cb6fbd4254dee;hp=c793db8305f2c5203faed24f4fc644c1a586cb52;hb=9a2520c36431a8a5fd90451e97f488c22f4decc5;hpb=ea20fcfcded669ce8fbbda3a1f93f354ed254603 diff --git a/test/channels-aio-fd.c b/test/channels-aio-fd.c index c793db83..3d0a9fea 100644 --- a/test/channels-aio-fd.c +++ b/test/channels-aio-fd.c @@ -65,10 +65,11 @@ int main(int argc, char *argv[]) { (void)argc; (void)argv; + meshlink_set_log_cb(NULL, MESHLINK_WARNING, log_cb); + // Prepare file char *outdata = malloc(size); - assert(outdata); for(size_t i = 0; i < size; i++) { @@ -98,61 +99,40 @@ int main(int argc, char *argv[]) { // Open two new meshlink instance. - meshlink_destroy("channels_aio_fd_conf.1"); - meshlink_destroy("channels_aio_fd_conf.2"); - - meshlink_handle_t *mesh1 = meshlink_open("channels_aio_fd_conf.1", "foo", "channels", DEV_CLASS_BACKBONE); - assert(mesh1); - - meshlink_handle_t *mesh2 = meshlink_open("channels_aio_fd_conf.2", "bar", "channels", DEV_CLASS_BACKBONE); - assert(mesh2); - - mesh2->priv = in_infos; + meshlink_handle_t *mesh_a, *mesh_b; + open_meshlink_pair(&mesh_a, &mesh_b, "channels_aio_fd"); - meshlink_enable_discovery(mesh1, false); - meshlink_enable_discovery(mesh2, false); + mesh_b->priv = in_infos; - // Import and export both side's data - - meshlink_add_address(mesh1, "localhost"); - - char *data = meshlink_export(mesh1); - assert(data); - assert(meshlink_import(mesh2, data)); - free(data); - - data = meshlink_export(mesh2); - assert(data); - assert(meshlink_import(mesh1, data)); - free(data); + meshlink_enable_discovery(mesh_a, false); + meshlink_enable_discovery(mesh_b, false); // Set the callbacks. - meshlink_set_channel_accept_cb(mesh1, reject_cb); - meshlink_set_channel_accept_cb(mesh2, accept_cb); + meshlink_set_channel_accept_cb(mesh_a, reject_cb); + meshlink_set_channel_accept_cb(mesh_b, accept_cb); // Start both instances - assert(meshlink_start(mesh1)); - assert(meshlink_start(mesh2)); + start_meshlink_pair(mesh_a, mesh_b); - // Open channels from foo to bar. + // Open channels from a to b. - meshlink_node_t *bar = meshlink_get_node(mesh1, "bar"); - assert(bar); + meshlink_node_t *b = meshlink_get_node(mesh_a, "b"); + assert(b); meshlink_channel_t *channels[nchannels]; for(size_t i = 0; i < nchannels; i++) { - channels[i] = meshlink_channel_open(mesh1, bar, i + 1, NULL, NULL, 0); + channels[i] = meshlink_channel_open(mesh_a, b, i + 1, NULL, NULL, 0); assert(channels[i]); } // Send a large buffer of data on each channel. for(size_t i = 0; i < nchannels; i++) { - assert(meshlink_channel_aio_fd_send(mesh1, channels[i], fileno(out_infos[i].file), size / 3, aio_fd_cb, &out_infos[i].aio_infos[0])); - assert(meshlink_channel_aio_fd_send(mesh1, channels[i], fileno(out_infos[i].file), size - size / 3, aio_fd_cb, &out_infos[i].aio_infos[1])); + assert(meshlink_channel_aio_fd_send(mesh_a, channels[i], fileno(out_infos[i].file), size / 3, aio_fd_cb, &out_infos[i].aio_infos[0])); + assert(meshlink_channel_aio_fd_send(mesh_a, channels[i], fileno(out_infos[i].file), size - size / 3, aio_fd_cb, &out_infos[i].aio_infos[1])); } // Wait for everyone to finish. @@ -197,8 +177,5 @@ int main(int argc, char *argv[]) { // Clean up. - meshlink_close(mesh2); - meshlink_close(mesh1); - - return 0; + close_meshlink_pair(mesh_a, mesh_b); }