+ for(size_t i = 0; i < nchannels; i++) {
+ assert(meshlink_channel_aio_send(mesh1, channels[i], outdata, size / 3, aio_cb, &out_infos[i].aio_infos[0]));
+ assert(meshlink_channel_aio_send(mesh1, channels[i], outdata + size / 3, size - size / 3, aio_cb, &out_infos[i].aio_infos[1]));
+ }
+
+ // Send a little bit on the last channel using a regular send
+
+ assert(meshlink_channel_send(mesh1, channels[nchannels], outdata, smallsize) == smallsize);
+
+ // Wait for everyone to finish.
+
+ assert(wait_sync_flag(&bar_received_flag, 10));
+
+ for(size_t i = 0; i < nchannels; i++) {
+ assert(wait_sync_flag(&out_infos[i].aio_infos[0].flag, 10));
+ assert(wait_sync_flag(&out_infos[i].aio_infos[1].flag, 10));
+ assert(wait_sync_flag(&in_infos[i].aio_infos[0].flag, 10));
+ assert(wait_sync_flag(&in_infos[i].aio_infos[1].flag, 10));
+ }
+
+ // Check that everything is correct.
+
+ assert(bar_received_len == smallsize);