Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[20596] Feature: topic keys with non breaking ABI (humble backport) #5

Merged
merged 2 commits into from
Mar 8, 2024

Conversation

Mario-DL
Copy link
Member

@Mario-DL Mario-DL commented Mar 7, 2024

This PR brings the work from #4 into vulcanexus-humble.

It gave no conflicts (hooray !!), but I include a detail in another commit since rosidl_pycommon was not available in humble

Important
If we port to ROS 2 humble at any time, this PR relies on Fast DDS v2.6.8 because it needs eProsima/Fast-DDS#4308 and eProsima/Fast-DDS#4353

Mario-DL and others added 2 commits March 7, 2024 10:41
* Refs #20156: Initial infraestructure for get_key_type_support() api method

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>

* Refs #20156: Return either true or false depending if the msg has keys

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>

* Refs #20156: Update message_type_support_key_callbacks_t structure

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>

* Refs #20156: Implement rosidl_typesupport_fastrtps_c generator methods for supporting keys

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>

* Refs #20156: Implement rosidl_typesupport_fastrtps_cpp generator methods for supporting keys

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>

* Refs #20310: Define v2 ABI identifier

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>

* Refs #20310: Replace get_key_type_support() with a raw pointer to the structure

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>

* Refs #20151: Clean unsued old methods

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>

* Refs #20151: set _key as suffix in get_serialized and calculate_max_serialized

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>

* Refs #20151: rosidl_typesupport_fastrtps_c: export key methods to be called from outside in headers

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>

* Refs #20151: rosidl_typesupport_fastrtps_c: source file forward declarations

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>

* Refs #20151: rosidl_typesupport_fastrtps_c: generator refactor: generate_members_for_cdr_serialize

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>

* Refs #20151: rosidl_typesupport_fastrtps_c: generator refactor: generate_members_for_get_serialized_size

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>

* Refs #20151: rosidl_typesupport_fastrtps_c: generator refactor: generate_members_for_max_serialized_size

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>

* Refs #20151: rosidl_typesupport_fastrtps_c: update suffix in __key_callback structure

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>

* Refs #20151: rosidl_typesupport_fastrtps_c: avoid generating cdr_serialize_key and cdr_deserialize_key methods that are not going to be used nor exported if the type do not have keys

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>

* Refs #20151: rosidl_typesupport_fastrtps_cpp: export key methods to be called from outside in headers

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>

* Refs #20151: rosidl_typesupport_fastrtps_cpp: source file forward declarations

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>

* Refs #20151: rosidl_typesupport_fastrtps_cpp: generator refactor: generate_members_for_cdr_serialize. Also, generate proxy methods only when the type has a key

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>

* Refs #20151: rosidl_typesupport_fastrtps_cpp: generator refactor: generate_members_for_get_serialized_size adn proxy

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>

* Refs #20151: rosidl_typesupport_fastrtps_cpp: generator refactor: generate_members_for_max_serialized_size and proxy

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>

* Refs #20151: rosidl_typesupport_fastrtps_cpp: dummy cdr_deserialize_key method and proxy

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>

* Refs #20151: rosidl_typesupport_fastrtps_cpp: update suffix in __key_callback structure

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>

* Refs #20310: Review 2 suggestions on rosidl_typesupport_fastrtps_cpp

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>

* Refs #20310: Review 2 suggestions on rosidl_typesupport_fastrtps_c

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>

* Refs #20310: NIT

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>

---------

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>
…_pycommon did not exist in humble

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>
@MiguelCompany MiguelCompany merged commit 6356a69 into vulcanexus-humble Mar 8, 2024
1 check passed
@MiguelCompany MiguelCompany deleted the feature/humble/no-abi-break-keys branch March 8, 2024 11:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants