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

Improve the implementation of incompatible type #675

Open
clalancette opened this issue Mar 13, 2023 · 0 comments
Open

Improve the implementation of incompatible type #675

clalancette opened this issue Mar 13, 2023 · 0 comments
Assignees

Comments

@clalancette
Copy link
Contributor

As part of the review for #654, there was a suggestion on how to further improve the code. Given how long that PR had been under review and how close we were to the deadline, we decided to punt that improvement until a later iteration. Here's the suggested improvement from @iuhilnehc-ynos :

Sorry for the late review and it's not a blocking comment/question as well.

Can we add a new struct derived from eprosima::fastdds::dds::Topic to keep the EventListenerInterface as a member inside,
and then use two dynamic_cast operations for checking the new struct and Topic by order in remove_topic_and_type?

something might be done as below,

add overloaded functions for CustomParticipantInfo::find_or_create_topic and CustomParticipantInfo::delete_topic for publisher and subscription

so we can get the following benefit

  1.  the client and service can take the original source code if they don't care about the event_listener.
  2. there is no `rmw_fastrtps_shared_cpp::remove_topic_and_type( 'info->publisher_event_ / nullptr' ) with an extra parameter unrelated to the method name called.
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

No branches or pull requests

1 participant