Skip to content

Commit 66f76f3

Browse files
pablogs9Your Name
authored andcommitted
Updates
1 parent b8e9752 commit 66f76f3

6 files changed

Lines changed: 48 additions & 23 deletions

File tree

rmw_microxrcedds_c/src/rmw_init.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -268,9 +268,9 @@ rmw_init(const rmw_init_options_t * options, rmw_context_t * context)
268268
context_impl->connection_params.agent_port);
269269
#elif defined(MICRO_XRCEDDS_UDP) && defined(UCLIENT_BROKERLESS_ENABLE)
270270

271-
context_impl->udp_platform.comm = brokerless_comm_stub;
271+
context_impl->transport.comm = brokerless_comm_stub;
272272

273-
printf("UDP mode Brokerless P2P\n");
273+
printf("UDP mode => Brokerless P2P\n");
274274
#elif defined(MICRO_XRCEDDS_CUSTOM_SERIAL)
275275
int pseudo_fd = 0;
276276
if (strlen(options->impl->connection_params.serial_device) > 0) {

rmw_microxrcedds_c/src/rmw_microxrcedds_topic.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ rmw_ret_t destroy_topic(rmw_uxrce_topic_t * topic)
109109

110110
uint16_t delete_topic = uxr_buffer_delete_entity(
111111
&topic->owner_node->context->session,
112-
*custom_node->context->entity_creation_output,
112+
*topic->owner_node->context->entity_creation_output,
113113
topic->topic_id);
114114

115115
uint16_t requests[] = {delete_topic};

rmw_microxrcedds_c/src/rmw_node.c

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ rmw_node_t * create_node(
8585
participant_req =
8686
uxr_buffer_create_participant_xml(
8787
&node_info->context->session,
88-
*custom_node->context->entity_creation_output,
88+
*node_info->context->entity_creation_output,
8989
node_info->participant_id,
9090
(uint16_t)domain_id,
9191
rmw_uxrce_xml_buffer,
@@ -104,10 +104,16 @@ rmw_node_t * create_node(
104104
rmw_uxrce_profile_name,
105105
UXR_REPLACE);
106106
#endif
107+
107108
uint8_t status[1];
108109
uint16_t requests[] = {participant_req};
109110

110-
if (!uxr_run_session_until_all_status(&node_info->context->session, 1000, requests, status, 1)) {
111+
if (UXR_BEST_EFFORT_STREAM == node_info->context->entity_creation_output->type)
112+
{
113+
uxr_flash_output_streams(&node_info->context->session);
114+
}
115+
else if(!uxr_run_session_until_all_status(&node_info->context->session, 1000, requests, status, 1))
116+
{
111117
rmw_uxrce_fini_node_memory(node_handle);
112118
RMW_SET_ERROR_MSG("Issues creating micro XRCE-DDS entities");
113119
return NULL;
@@ -212,9 +218,11 @@ rmw_ret_t rmw_destroy_node(rmw_node_t * node)
212218
uint8_t status[1];
213219
uint16_t requests[] = {participant_req};
214220

215-
if (!uxr_run_session_until_all_status(
216-
&custom_node->context->session, 1000, requests, status,
217-
1))
221+
if (UXR_BEST_EFFORT_STREAM == custom_node->context->entity_creation_output->type)
222+
{
223+
uxr_flash_output_streams(&custom_node->context->session);
224+
}
225+
else if(!uxr_run_session_until_all_status(&custom_node->context->session, 1000, requests, status,1))
218226
{
219227
ret = RMW_RET_ERROR;
220228
}

rmw_microxrcedds_c/src/rmw_publisher.c

Lines changed: 28 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -209,9 +209,14 @@ rmw_create_publisher(
209209

210210
uint16_t requests[] = {publisher_req, datawriter_req};
211211
uint8_t status[sizeof(requests) / 2];
212-
if (!uxr_run_session_until_all_status(
213-
&custom_publisher->owner_node->context->session, 1000, requests,
214-
status, sizeof(status)))
212+
213+
if (UXR_BEST_EFFORT_STREAM == custom_node->context->entity_creation_output->type)
214+
{
215+
uxr_flash_output_streams(&custom_node->context->session);
216+
}
217+
else if(!uxr_run_session_until_all_status(
218+
&custom_publisher->owner_node->context->session, 1000, requests,
219+
status, sizeof(status)))
215220
{
216221
RMW_SET_ERROR_MSG("Issues creating micro XRCE-DDS entities");
217222
put_memory(&publisher_memory, &custom_publisher->mem);
@@ -319,25 +324,37 @@ rmw_destroy_publisher(
319324

320325
uint16_t delete_writer = uxr_buffer_delete_entity(
321326
&custom_publisher->owner_node->context->session,
322-
*custom_node->context->entity_creation_output,
327+
*custom_publisher->owner_node->context->entity_creation_output,
323328
custom_publisher->datawriter_id);
324329
uint16_t delete_publisher = uxr_buffer_delete_entity(
325330
&custom_publisher->owner_node->context->session,
326-
*custom_node->context->entity_creation_output,
331+
*custom_publisher->owner_node->context->entity_creation_output,
327332
custom_publisher->publisher_id);
328333

329334
uint16_t requests[] = {delete_writer, delete_publisher};
330335
uint8_t status[sizeof(requests) / 2];
331-
if (!uxr_run_session_until_all_status(
332-
&custom_publisher->owner_node->context->session, 1000, requests, status,
333-
sizeof(status)))
336+
337+
if (UXR_BEST_EFFORT_STREAM == custom_publisher->owner_node->context->entity_creation_output->type)
334338
{
335-
RMW_SET_ERROR_MSG("unable to remove publisher from the server");
336-
result_ret = RMW_RET_ERROR;
337-
} else {
339+
uxr_flash_output_streams(&custom_publisher->owner_node->context->session);
338340
rmw_uxrce_fini_publisher_memory(publisher);
339341
result_ret = RMW_RET_OK;
340342
}
343+
else
344+
{
345+
if (!uxr_run_session_until_all_status(
346+
&custom_publisher->owner_node->context->session, 1000, requests, status,
347+
sizeof(status)))
348+
{
349+
RMW_SET_ERROR_MSG("unable to remove publisher from the server");
350+
result_ret = RMW_RET_ERROR;
351+
}
352+
else
353+
{
354+
rmw_uxrce_fini_publisher_memory(publisher);
355+
result_ret = RMW_RET_OK;
356+
}
357+
}
341358
}
342359

343360
return result_ret;

rmw_microxrcedds_c/src/rmw_subscription.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -304,12 +304,12 @@ rmw_destroy_subscription(rmw_node_t * node, rmw_subscription_t * subscription)
304304
uint16_t delete_datareader =
305305
uxr_buffer_delete_entity(
306306
&custom_subscription->owner_node->context->session,
307-
*custom_node->context->entity_creation_output,
307+
*custom_subscription->owner_node->context->entity_creation_output,
308308
custom_subscription->datareader_id);
309309
uint16_t delete_subscriber =
310310
uxr_buffer_delete_entity(
311311
&custom_subscription->owner_node->context->session,
312-
*custom_node->context->entity_creation_output,
312+
*custom_subscription->owner_node->context->entity_creation_output,
313313
custom_subscription->subscriber_id);
314314

315315
uint16_t requests[] = {delete_datareader, delete_subscriber};

rmw_microxrcedds_c/src/utils.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -373,7 +373,7 @@ bool build_datareader_profile(const char * topic_name, char profile_name[], size
373373
bool build_requester_profile(const char * service_name, char profile_name[], size_t buffer_size)
374374
{
375375
const char * const format = "%s___requester";
376-
topic_name++;
376+
service_name++;
377377
bool ret = false;
378378
int written = snprintf(profile_name, buffer_size, format, service_name);
379379
ret = (written > 0) && (written < (int)buffer_size);
@@ -383,7 +383,7 @@ bool build_requester_profile(const char * service_name, char profile_name[], siz
383383
bool build_replier_profile(const char * service_name, char profile_name[], size_t buffer_size)
384384
{
385385
const char * const format = "%s___replier";
386-
topic_name++;
386+
service_name++;
387387
bool ret = false;
388388
int written = snprintf(profile_name, buffer_size, format, service_name);
389389
ret = (written > 0) && (written < (int)buffer_size);

0 commit comments

Comments
 (0)