forked from ros2/rosbag2
-
Notifications
You must be signed in to change notification settings - Fork 0
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
Fixes for services playback per review 2 #6
Merged
Barry-Xu-2018
merged 17 commits into
Barry-Xu-2018:review/rosbag2_service_play
from
ros2:morlov/fixes_for_services_playback_per_review_2
Apr 12, 2024
Merged
Changes from 1 commit
Commits
Show all changes
17 commits
Select commit
Hold shift + click to select a range
bc4d118
Make service_event_ts_lib as private member again
MichaelOrlov 5f324c1
Cleanup in PlayerServiceClient::async_send_request(ser_message)
MichaelOrlov 6397df6
Refactoring. Do full deserialization and only once
MichaelOrlov 94d418f
Specify service request from which introspection message and fix uncr…
Barry-Xu-2018 00bff3e
Revert uncrustify changes from previous commit.
MichaelOrlov 05a3d1d
Rename service_request_from to the service_requests_source
MichaelOrlov 9d98b04
Add Player::wait_for_sent_service_requests_to_finish() API
MichaelOrlov b7116b9
Mitigate potential issues related to the operations reordering on ARM
MichaelOrlov b87c944
Make tests play_service_requests_from_service(client) deterministic
MichaelOrlov bede854
Misc findings and improvements 1
MichaelOrlov c5f6c13
Rename get_services_clients() to the get_service_clients()
MichaelOrlov a623a23
Add a new CLI parameter "--publish-service-requests" for Player
Barry-Xu-2018 091620c
Fix an issue on filtering topic when prepare publishers
MichaelOrlov 3c19873
Cleanup in play_without_publish_service_requests
MichaelOrlov 98c14ef
Wrap code which can throw with try-catch in the publish_message(..)
MichaelOrlov f270ac1
Delete some part of the code which became absolute and shall not be used
MichaelOrlov 974d687
Update test codes
Barry-Xu-2018 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Finally, it also will call PlayerServiceClientManager::wait_for_all_futures().
So this operation does not wait for the future of the client of the specified service to complete, but waits for all futures to complete.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Barry-Xu-2018 In this particular case it will wait for all futures for specific client.
However if
service_name
is empty it will wait for all futures from all clients, - does it make sense?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@MichaelOrlov
Yes. It makes sense.
Although the code retrieves the corresponding client based on the service name,
client->wait_for_sent_requests_to_finish()
actually callsPlayerServiceClientManager::wait_for_all_futures()
. This function does not wait for all futures of a specific client; instead, it waits for all futures of all registered clients.