Skip to content
This repository has been archived by the owner on Jun 21, 2023. It is now read-only.

support wait_for_service #165

Merged
merged 6 commits into from
May 28, 2016
Merged

support wait_for_service #165

merged 6 commits into from
May 28, 2016

Conversation

wjwwood
Copy link
Member

@wjwwood wjwwood commented May 20, 2016

Connects to ros2/ros2#215

I'm currently dealing with an issue where the locally created DataReaders and DataWriters do not notify our listener: https://community.rti.com/forum-topic/built-publication-data-local-datawriters-and-datareaders

@wjwwood wjwwood added the in progress Actively being worked on (Kanban column) label May 20, 2016
@wjwwood wjwwood added enhancement New feature or request in review Waiting for review (Kanban column) and removed in progress Actively being worked on (Kanban column) enhancement New feature or request labels May 27, 2016
@wjwwood
Copy link
Member Author

wjwwood commented May 27, 2016

I'm putting this one up for review as well. Some notes:

  • The rmw_service_server_is_available function is 'not implemented' in this pr, since it will not answer the question if the service server is local.
  • The "graph" guard condition will not wake up when local publishers, subscriptions, or service servers are created.

Related tests in rcl are disabled for Connext until those are resolved.

Both of these issues are related to the fact that Connext doesn't notify on local creation of DataWriter's and DataReader's, see: ros2/ros2#215 (comment)

I still think we should review and merge this as-is for two reasons: it is incrementally better and does work for different participants, and without the functions at least implemented rcl won't link.

After merging I'll create issues on this repository to track the remaining issues.


ROSIDL_TYPESUPPORT_CONNEXT_CPP_PUBLIC
const char *
get_request_topic_name__@(spec.srv_name)(void * untyped_requester);
Copy link
Contributor

Choose a reason for hiding this comment

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

This change does not appear in the parallel change is that expected? https://github.com/ros2/rmw_opensplice/pull/137/files

Copy link
Member Author

Choose a reason for hiding this comment

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

Yeah this is expected, because in OpenSplice the "requester" object is available and I can just call get_topic_name (or something like that) on it. In Connext, the requester object is type erased, so I have to ask the generated code to cast it to the right type and then call that function on it.

@tfoote
Copy link
Contributor

tfoote commented May 28, 2016

lgtm

@wjwwood wjwwood merged commit c983a8c into master May 28, 2016
@wjwwood wjwwood deleted the wait_for_service branch May 28, 2016 22:15
@wjwwood wjwwood removed the in review Waiting for review (Kanban column) label May 28, 2016
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants