static void receive_cb(meshlink_handle_t *mesh, meshlink_channel_t *channel, const void *data, size_t len) {
(void)mesh;
(void)channel;
static void receive_cb(meshlink_handle_t *mesh, meshlink_channel_t *channel, const void *data, size_t len) {
(void)mesh;
(void)channel;
memset(out_infos, 0, sizeof(out_infos));
for(size_t i = 0; i < nchannels; i++) {
memset(out_infos, 0, sizeof(out_infos));
for(size_t i = 0; i < nchannels; i++) {
in_infos[i].data = malloc(size);
assert(in_infos[i].data);
out_infos[i].data = outdata;
in_infos[i].data = malloc(size);
assert(in_infos[i].data);
out_infos[i].data = outdata;
// The non-AIO transfer should have completed before everything else
assert(!timespec_lt(&out_infos[i].aio_infos[0].ts, &b_received_ts));
assert(!timespec_lt(&in_infos[i].aio_infos[0].ts, &b_received_ts));
// The non-AIO transfer should have completed before everything else
assert(!timespec_lt(&out_infos[i].aio_infos[0].ts, &b_received_ts));
assert(!timespec_lt(&in_infos[i].aio_infos[0].ts, &b_received_ts));