-
Notifications
You must be signed in to change notification settings - Fork 42
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Improve service and subscription reliability (#92)
* Switch to unique_ptr for the query_queue. This is not strictly required, but it does make ownership clearer. Signed-off-by: Chris Lalancette <[email protected]> * Fix cpplint issues. Signed-off-by: Chris Lalancette <[email protected]> * Use unique_ptr for replies. Signed-off-by: Chris Lalancette <[email protected]> * Use custom classes to wrap the queries and replies. This allows us to do RAII and drop things in all paths properly. Signed-off-by: Chris Lalancette <[email protected]> * Revamp rmw_shutdown and rmw_context_fini. rmw_context_fini is called during the atexit handler, so we can't do complex things like shutdown the session. Instead, switch to shutting down the session during rmw_shutdown. Signed-off-by: Chris Lalancette <[email protected]> * Make sure to check z_reply_is_ok. Signed-off-by: Chris Lalancette <[email protected]> * Add in header includes as needed. Signed-off-by: Chris Lalancette <[email protected]> * Remove a lot of debugging statements. Signed-off-by: Chris Lalancette <[email protected]> * Add in source timestamps to service requests. Signed-off-by: Chris Lalancette <[email protected]> * Add in source_timestamp for services. Signed-off-by: Chris Lalancette <[email protected]> * Run the constructor for rmw_publisher_data_t. Signed-off-by: Chris Lalancette <[email protected]> * Don't pass unnecessary argument into __rmw_take. Signed-off-by: Chris Lalancette <[email protected]> * Fix up memory leaks in clients, services, and the context. Signed-off-by: Chris Lalancette <[email protected]> * Fill in the received_timetstamp. Signed-off-by: Chris Lalancette <[email protected]> * Add in a writer_guid to the client and service requests. Signed-off-by: Chris Lalancette <[email protected]> * Revamp rmw_wait. There are more comments in the code, but in particular this change makes sure we deal with data that is already ready, rather than always waiting. With this in place, services seem to work as promised. Signed-off-by: Chris Lalancette <[email protected]> * Switch which end of the deque subscriptions push and pop from. Since it is a deque, it doesn't *really* matter whether we push from the back and pull from the front, or push from the front and pull from the back. Switch to pushing to the back and pulling from the front so we match what the clients and services are doing. Signed-off-by: Chris Lalancette <[email protected]> * Remove unnecessary configuration file. Signed-off-by: Chris Lalancette <[email protected]> --------- Signed-off-by: Chris Lalancette <[email protected]>
- Loading branch information
1 parent
9823c65
commit 0e7a380
Showing
17 changed files
with
485 additions
and
309 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
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
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
Oops, something went wrong.