You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Utilize rclcpp::WaitSet as part of the executors (#2142)
* Deprecate callback_group call taking context
Signed-off-by: Michael Carroll <[email protected]>
* Add base executor objects that can be used by implementors
Signed-off-by: Michael Carroll <[email protected]>
* Template common operations
Signed-off-by: Michael Carroll <[email protected]>
* Address reviewer feedback:
* Add callback to EntitiesCollector constructor
* Make function to check automatically added callback groups take a list
Signed-off-by: Michael Carroll <[email protected]>
* Lint
Signed-off-by: Michael Carroll <[email protected]>
* Address reviewer feedback and fix templates
Signed-off-by: Michael Carroll <[email protected]>
* Lint and docs
Signed-off-by: Michael Carroll <[email protected]>
* Make executor own the notify waitable
Signed-off-by: Michael Carroll <[email protected]>
* Add pending queue to collector, remove from waitable
Also change node's get_guard_condition to return shared_ptr
Signed-off-by: Michael Carroll <[email protected]>
* Change interrupt guard condition to shared_ptr
Check if guard condition is valid before adding it to the waitable
Signed-off-by: Michael Carroll <[email protected]>
* Lint and docs
Signed-off-by: Michael Carroll <[email protected]>
* Utilize rclcpp::WaitSet as part of the executors
Signed-off-by: Michael Carroll <[email protected]>
* Don't exchange atomic twice
Signed-off-by: Michael Carroll <[email protected]>
* Fix add_node and add more tests
Signed-off-by: Michael Carroll <[email protected]>
* Make get_notify_guard_condition follow API tick-tock
Signed-off-by: Michael Carroll <[email protected]>
* Improve callback group tick-tocking
Signed-off-by: Michael Carroll <[email protected]>
* Don't lock twice
Signed-off-by: Michael Carroll <[email protected]>
* Address reviewer feedback
Signed-off-by: Michael Carroll <[email protected]>
* Add thread safety annotations and make locks consistent
Signed-off-by: Michael Carroll <[email protected]>
* @wip
Signed-off-by: Michael Carroll <[email protected]>
* Reset callback groups for multithreaded executor
Signed-off-by: Michael Carroll <[email protected]>
* Avoid many small function calls when building executables
Signed-off-by: Michael Carroll <[email protected]>
* Re-trigger guard condition if buffer has data
Signed-off-by: Michael Carroll <[email protected]>
* Address reviewer feedback
Signed-off-by: Michael Carroll <[email protected]>
* Trace points
Signed-off-by: Michael Carroll <[email protected]>
* Remove tracepoints
Signed-off-by: Michael Carroll <[email protected]>
* Reducing diff
Signed-off-by: Michael Carroll <[email protected]>
* Reduce diff
Signed-off-by: Michael Carroll <[email protected]>
* Uncrustify
Signed-off-by: Michael Carroll <[email protected]>
* Restore tests
Signed-off-by: Michael Carroll <[email protected]>
* Back to weak_ptr and reduce test time
Signed-off-by: Michael Carroll <[email protected]>
* reduce diff and lint
Signed-off-by: Michael Carroll <[email protected]>
* Restore static single threaded tests that weren't working before
Signed-off-by: Michael Carroll <[email protected]>
* Restore more tests
Signed-off-by: Michael Carroll <[email protected]>
* Fix multithreaded test
Signed-off-by: Michael Carroll <[email protected]>
* Fix assert
Signed-off-by: Michael Carroll <[email protected]>
* Fix constructor test
Signed-off-by: Michael Carroll <[email protected]>
* Change ready_executables signature back
Signed-off-by: Michael Carroll <[email protected]>
* Don't enforce removing callback groups before nodes
Signed-off-by: Michael Carroll <[email protected]>
* Remove the "add_valid_node" API
Signed-off-by: Michael Carroll <[email protected]>
* Only notify if the trigger condition is valid
Signed-off-by: Michael Carroll <[email protected]>
* Only trigger if valid and needed
Signed-off-by: Michael Carroll <[email protected]>
* Fix spin_some/spin_all implementation
Signed-off-by: Michael Carroll <[email protected]>
* Restore single threaded executor
Signed-off-by: Michael Carroll <[email protected]>
* Picking ABI-incompatible executor changes
Signed-off-by: Michael Carroll <[email protected]>
* Add PIMPL
Signed-off-by: Michael Carroll <[email protected]>
* Additional waitset prune
Signed-off-by: Michael Carroll <[email protected]>
* Fix bad merge
Signed-off-by: Michael Carroll <[email protected]>
* Expand test timeout
Signed-off-by: Michael Carroll <[email protected]>
* Introduce method to clear expired entities from a collection
Signed-off-by: Michael Carroll <[email protected]>
* Make sure to call remove_expired_entities().
Signed-off-by: Chris Lalancette <[email protected]>
* Prune queued work when callback group is removed
Signed-off-by: Michael Carroll <[email protected]>
* Prune subscriptions from dynamic storage
Signed-off-by: Michael Carroll <[email protected]>
* Styles fixes.
Signed-off-by: Chris Lalancette <[email protected]>
* Re-trigger guard conditions
Signed-off-by: Michael Carroll <[email protected]>
* Condense to just use watiable.take_data
Signed-off-by: Michael Carroll <[email protected]>
* Lint
Signed-off-by: Michael Carroll <[email protected]>
* Address reviewer comments (nits)
Signed-off-by: Michael Carroll <[email protected]>
* Lock mutex when copying
Signed-off-by: Michael Carroll <[email protected]>
* Refactors to static single threaded based on reviewers
Signed-off-by: Michael Carroll <[email protected]>
* More small refactoring
Signed-off-by: Michael Carroll <[email protected]>
* Lint
Signed-off-by: Michael Carroll <[email protected]>
* Lint
Signed-off-by: Michael Carroll <[email protected]>
* Add ready executable accessors to WaitResult
Signed-off-by: Michael Carroll <[email protected]>
* Make use of accessors from wait_set
Signed-off-by: Michael Carroll <[email protected]>
* Fix tests
Signed-off-by: Michael Carroll <[email protected]>
* Fix more tests
Signed-off-by: Michael Carroll <[email protected]>
* Tidy up single threaded executor implementation
Signed-off-by: Michael Carroll <[email protected]>
* Don't null out timer, rely on call
Signed-off-by: Michael Carroll <[email protected]>
* change how timers are checked from wait result in executors
Signed-off-by: William Woodall <[email protected]>
* peak -> peek
Signed-off-by: William Woodall <[email protected]>
* fix bug in next_waitable logic
Signed-off-by: William Woodall <[email protected]>
* fix bug in StaticSTE that broke the add callback groups to executor tests
Signed-off-by: William Woodall <[email protected]>
* style
Signed-off-by: William Woodall <[email protected]>
---------
Signed-off-by: Michael Carroll <[email protected]>
Signed-off-by: Michael Carroll <[email protected]>
Signed-off-by: Chris Lalancette <[email protected]>
Signed-off-by: William Woodall <[email protected]>
Co-authored-by: Chris Lalancette <[email protected]>
Co-authored-by: William Woodall <[email protected]>
0 commit comments