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

<Foxy> Discriminate when the Client has gone from when the Client has not completely matched #469

Closed
wants to merge 3 commits into from

Conversation

JLBuenoLopez
Copy link
Contributor

@JLBuenoLopez JLBuenoLopez commented Oct 23, 2020

This backports #467 to Foxy.

Note, this breaks ABI compatibility. The first workaround (#412) also had to deal with this problem. The breakage may be acceptable considering the improvement to service discovery (ros2/ros2#1024).

…mpletely matched (ros2#467)

* Workaround when the client is gone before server sends response

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Change add to the map to listener callback

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Apply suggestions from code review

Co-authored-by: Michel Hidalgo <michel@ekumenlabs.com>
Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Uncrustify

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

Co-authored-by: Michel Hidalgo <michel@ekumenlabs.com>
@hidmic
Copy link
Contributor

hidmic commented Oct 27, 2020

@ros-pull-request-builder retest this please.

Copy link
Contributor

@hidmic hidmic left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks OK to me, but I'll defer to @jacobperron the decision as to whether we can accept an ABI breakage into Foxy or not.

@MiguelCompany
Copy link
Collaborator

@hidmic @jacobperron Please bear in mind that the ABI break is on package rmw_fastrtps_shared_cpp, which is never used by a ROS user directly.

Copy link
Member

@jacobperron jacobperron left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

An ABI change is one thing, but this is changing API in a public header. Although it is unlikely that external packages are using the affected type, I'm rather not risk releasing a source-incompatible change into Foxy, especially in a core package that many depend on, albeit transitively.

Perhaps we could modify the change to retain ABI (or at least API) compatibility?

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>
@JLBuenoLopez
Copy link
Contributor Author

#475 reverts the API break in master.

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>
@jacobperron
Copy link
Member

I've discussed this change offline when the ROS 2 team and we would rather not break ABI. I've proposed an alternative PR that attempts to backport this change in an ABI compatible way (see #479).

@jacobperron
Copy link
Member

Backported in #479, maintaining ABI compatibility.

@MiguelCompany MiguelCompany deleted the bugfix/service/foxy branch April 6, 2021 07:49
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.

4 participants