diff --git a/rmw_connext_cpp/src/rmw_publish.cpp b/rmw_connext_cpp/src/rmw_publish.cpp index 911a9f8f..8cfe3df3 100644 --- a/rmw_connext_cpp/src/rmw_publish.cpp +++ b/rmw_connext_cpp/src/rmw_publish.cpp @@ -73,8 +73,12 @@ publish(DDS::DataWriter * dds_data_writer, const rcutils_uint8_array_t * cdr_str extern "C" { rmw_ret_t -rmw_publish(const rmw_publisher_t * publisher, const void * ros_message) +rmw_publish( + const rmw_publisher_t * publisher, + const void * ros_message, + rmw_publisher_allocation_t * allocation) { + (void) allocation; if (!publisher) { RMW_SET_ERROR_MSG("publisher handle is null"); return RMW_RET_ERROR; @@ -137,8 +141,11 @@ rmw_publish(const rmw_publisher_t * publisher, const void * ros_message) rmw_ret_t rmw_publish_serialized_message( - const rmw_publisher_t * publisher, const rmw_serialized_message_t * serialized_message) + const rmw_publisher_t * publisher, + const rmw_serialized_message_t * serialized_message, + rmw_publisher_allocation_t * allocation) { + (void) allocation; if (!publisher) { RMW_SET_ERROR_MSG("publisher handle is null"); return RMW_RET_ERROR; diff --git a/rmw_connext_cpp/src/rmw_publisher.cpp b/rmw_connext_cpp/src/rmw_publisher.cpp index 17f937d4..d91f96eb 100644 --- a/rmw_connext_cpp/src/rmw_publisher.cpp +++ b/rmw_connext_cpp/src/rmw_publisher.cpp @@ -39,6 +39,29 @@ extern "C" { +rmw_ret_t +rmw_init_publisher_allocation( + const rosidl_message_type_support_t * type_support, + const rosidl_message_bounds_t * message_bounds, + rmw_publisher_allocation_t * allocation) +{ + // Unused in current implementation. + (void) type_support; + (void) message_bounds; + (void) allocation; + RMW_SET_ERROR_MSG("unimplemented"); + return RMW_RET_ERROR; +} + +rmw_ret_t +rmw_fini_publisher_allocation(rmw_publisher_allocation_t * allocation) +{ + // Unused in current implementation. + (void) allocation; + RMW_SET_ERROR_MSG("unimplemented"); + return RMW_RET_ERROR; +} + rmw_publisher_t * rmw_create_publisher( const rmw_node_t * node, diff --git a/rmw_connext_cpp/src/rmw_subscription.cpp b/rmw_connext_cpp/src/rmw_subscription.cpp index 65df8eb2..025ce489 100644 --- a/rmw_connext_cpp/src/rmw_subscription.cpp +++ b/rmw_connext_cpp/src/rmw_subscription.cpp @@ -38,6 +38,29 @@ extern "C" { +rmw_ret_t +rmw_init_subscription_allocation( + const rosidl_message_type_support_t * type_support, + const rosidl_message_bounds_t * message_bounds, + rmw_subscription_allocation_t * allocation) +{ + // Unused in current implementation. + (void) type_support; + (void) message_bounds; + (void) allocation; + RMW_SET_ERROR_MSG("unimplemented"); + return RMW_RET_ERROR; +} + +rmw_ret_t +rmw_fini_subscription_allocation(rmw_subscription_allocation_t * allocation) +{ + // Unused in current implementation. + (void) allocation; + RMW_SET_ERROR_MSG("unimplemented"); + return RMW_RET_ERROR; +} + rmw_subscription_t * rmw_create_subscription( const rmw_node_t * node, diff --git a/rmw_connext_cpp/src/rmw_take.cpp b/rmw_connext_cpp/src/rmw_take.cpp index 83b1034e..9894c35b 100644 --- a/rmw_connext_cpp/src/rmw_take.cpp +++ b/rmw_connext_cpp/src/rmw_take.cpp @@ -33,8 +33,10 @@ take( bool ignore_local_publications, rcutils_uint8_array_t * cdr_stream, bool * taken, - void * sending_publication_handle) + void * sending_publication_handle, + rmw_subscription_allocation_t * allocation) { + (void) allocation; if (!dds_data_reader) { RMW_SET_ERROR_MSG("dds_data_reader is null"); return false; @@ -134,7 +136,8 @@ _take( const rmw_subscription_t * subscription, void * ros_message, bool * taken, - DDS::InstanceHandle_t * sending_publication_handle) + DDS::InstanceHandle_t * sending_publication_handle, + rmw_subscription_allocation_t * allocation) { if (!subscription) { RMW_SET_ERROR_MSG("subscription handle is null"); @@ -175,7 +178,7 @@ _take( rcutils_uint8_array_t cdr_stream = rcutils_get_zero_initialized_uint8_array(); if (!take( topic_reader, subscriber_info->ignore_local_publications, &cdr_stream, taken, - sending_publication_handle)) + sending_publication_handle, allocation)) { RMW_SET_ERROR_MSG("error occured while taking message"); return RMW_RET_ERROR; @@ -194,9 +197,13 @@ _take( } rmw_ret_t -rmw_take(const rmw_subscription_t * subscription, void * ros_message, bool * taken) +rmw_take( + const rmw_subscription_t * subscription, + void * ros_message, + bool * taken, + rmw_subscription_allocation_t * allocation) { - return _take(subscription, ros_message, taken, nullptr); + return _take(subscription, ros_message, taken, nullptr, allocation); } rmw_ret_t @@ -204,14 +211,15 @@ rmw_take_with_info( const rmw_subscription_t * subscription, void * ros_message, bool * taken, - rmw_message_info_t * message_info) + rmw_message_info_t * message_info, + rmw_subscription_allocation_t * allocation) { if (!message_info) { RMW_SET_ERROR_MSG("message info is null"); return RMW_RET_ERROR; } DDS::InstanceHandle_t sending_publication_handle; - auto ret = _take(subscription, ros_message, taken, &sending_publication_handle); + auto ret = _take(subscription, ros_message, taken, &sending_publication_handle, allocation); if (ret != RMW_RET_OK) { // Error string is already set. return RMW_RET_ERROR; @@ -231,7 +239,8 @@ _take_serialized_message( const rmw_subscription_t * subscription, rmw_serialized_message_t * serialized_message, bool * taken, - DDS::InstanceHandle_t * sending_publication_handle) + DDS::InstanceHandle_t * sending_publication_handle, + rmw_subscription_allocation_t * allocation) { if (!subscription) { RMW_SET_ERROR_MSG("subscription handle is null"); @@ -271,7 +280,7 @@ _take_serialized_message( // fetch the incoming message as cdr stream if (!take( topic_reader, subscriber_info->ignore_local_publications, serialized_message, taken, - sending_publication_handle)) + sending_publication_handle, allocation)) { RMW_SET_ERROR_MSG("error occured while taking message"); return RMW_RET_ERROR; @@ -284,9 +293,10 @@ rmw_ret_t rmw_take_serialized_message( const rmw_subscription_t * subscription, rmw_serialized_message_t * serialized_message, - bool * taken) + bool * taken, + rmw_subscription_allocation_t * allocation) { - return _take_serialized_message(subscription, serialized_message, taken, nullptr); + return _take_serialized_message(subscription, serialized_message, taken, nullptr, allocation); } rmw_ret_t @@ -294,7 +304,8 @@ rmw_take_serialized_message_with_info( const rmw_subscription_t * subscription, rmw_serialized_message_t * serialized_message, bool * taken, - rmw_message_info_t * message_info) + rmw_message_info_t * message_info, + rmw_subscription_allocation_t * allocation) { if (!message_info) { RMW_SET_ERROR_MSG("message info is null"); @@ -302,7 +313,8 @@ rmw_take_serialized_message_with_info( } DDS::InstanceHandle_t sending_publication_handle; auto ret = - _take_serialized_message(subscription, serialized_message, taken, &sending_publication_handle); + _take_serialized_message(subscription, serialized_message, taken, + &sending_publication_handle, allocation); if (ret != RMW_RET_OK) { // Error string is already set. return RMW_RET_ERROR;