Skip to content

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

Closed
JLBuenoLopez wants to merge 3 commits intoros2:foxyfrom
eProsima:bugfix/service/foxy
Closed

<Foxy> Discriminate when the Client has gone from when the Client has not completely matched#469
JLBuenoLopez wants to merge 3 commits intoros2:foxyfrom
eProsima:bugfix/service/foxy

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