Skip to content

Commit

Permalink
Set channel bound to 0 for zc_liveliness_get
Browse files Browse the repository at this point in the history
Signed-off-by: Yadunund <yadunund@openrobotics.org>
  • Loading branch information
Yadunund committed Jan 4, 2024
1 parent 61b4126 commit 689d102
Showing 1 changed file with 5 additions and 1 deletion.
6 changes: 5 additions & 1 deletion rmw_zenoh_cpp/src/rmw_init.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -255,7 +255,11 @@ rmw_init(const rmw_init_options_t * options, rmw_context_t * context)
"Sending Query '%s' to fetch discovery data...",
liveliness_str.c_str()
);
z_owned_reply_channel_t channel = zc_reply_fifo_new(16);
// Without setting the bound value to 0, the liveliness get call
// block execution where there are more than 3 nodes in the graph.
// From the zenoh-c documentation: If `bound` is different from 0, that channel will be bound and apply back-pressure when full.
// TODO(Yadunund): Investigate why this is the case and try switching to callbacks instead.
z_owned_reply_channel_t channel = zc_reply_fifo_new(0);
zc_liveliness_get(
z_loan(context->impl->session), z_keyexpr(liveliness_str.c_str()),
z_move(channel.send), NULL);
Expand Down

0 comments on commit 689d102

Please sign in to comment.