static void b_receive_cb(meshlink_handle_t *mesh, meshlink_channel_t *channel, const void *data, size_t len) {
// Send one message back, then close the channel.
if(len) {
static void b_receive_cb(meshlink_handle_t *mesh, meshlink_channel_t *channel, const void *data, size_t len) {
// Send one message back, then close the channel.
if(len) {
- meshlink_channel_send(mesh, channel, data, len);
+ assert(meshlink_channel_send(mesh, channel, data, len) == (ssize_t)len);
static bool accept_cb(meshlink_handle_t *mesh, meshlink_channel_t *channel, uint16_t port, const void *data, size_t len) {
(void)port;
static bool accept_cb(meshlink_handle_t *mesh, meshlink_channel_t *channel, uint16_t port, const void *data, size_t len) {
(void)port;
meshlink_set_log_cb(NULL, MESHLINK_DEBUG, log_cb);
meshlink_handle_t *a, *b;
meshlink_set_log_cb(NULL, MESHLINK_DEBUG, log_cb);
meshlink_handle_t *a, *b;
meshlink_set_channel_accept_cb(b, accept_cb);
// Open a channel from a to b before starting the mesh.
meshlink_set_channel_accept_cb(b, accept_cb);
// Open a channel from a to b before starting the mesh.
meshlink_channel_t *channel = meshlink_channel_open(a, nb, 7, a_receive_cb, &channel_opened, 0);
assert(channel);
meshlink_channel_t *channel = meshlink_channel_open(a, nb, 7, a_receive_cb, &channel_opened, 0);
assert(channel);
channel_opened.flag = false;
open_meshlink_pair(&a, &b, "channels-cornercases");
channel_opened.flag = false;
open_meshlink_pair(&a, &b, "channels-cornercases");
meshlink_set_channel_accept_cb(b, accept_cb);
start_meshlink_pair(a, b);
meshlink_set_channel_accept_cb(b, accept_cb);
start_meshlink_pair(a, b);
- meshlink_channel_send(a, channel, "Hello", 5);
-
+ assert(meshlink_channel_send(a, channel, "Hello", 5) == 5);
meshlink_channel_t *channel2 = meshlink_channel_open(a, nb, 7, a_receive_cb, &channel_polled, 0);
assert(channel2);
meshlink_channel_t *channel2 = meshlink_channel_open(a, nb, 7, a_receive_cb, &channel_polled, 0);
assert(channel2);