Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Re-add Clock::sleep_until (ros2#1814)
* Revert "Revert "Add Clock::sleep_until method (ros2#1748)" (ros2#1793)" This reverts commit d04319a. Signed-off-by: Shane Loretz <sloretz@osrfoundation.org> * Context, Shutdown Callback, Condition Var per call The `Clock` doesn't have enough information to know which Context should wake it on shutdown, so this adds a Context as an argument to sleep_until(). Since the context is per call, the shutdown callback is also registered per call and cannot be stored on impl_. The condition_variable is also unique per call to reduce spurious wakeups when multiple threads sleep on the same clock. Signed-off-by: Shane Loretz <sloretz@osrfoundation.org> * Throw if until has wrong clock type Signed-off-by: Shane Loretz <sloretz@osrfoundation.org> * unnecessary newline Signed-off-by: Shane Loretz <sloretz@osrfoundation.org> * Shorten line Signed-off-by: Shane Loretz <sloretz@osrfoundation.org> * Fix time jump thresholds and add ROS time test Use -1 and 1 thresholds because 0 and 0 is supposed to disable the callbacks Signed-off-by: Shane Loretz <sloretz@osrfoundation.org> * Shorten line Signed-off-by: Shane Loretz <sloretz@osrfoundation.org> * rclcpp::ok() -> context->is_valid() Signed-off-by: Shane Loretz <sloretz@osrfoundation.org> * No pre-jump handler instead of noop handler Signed-off-by: Shane Loretz <sloretz@osrfoundation.org> * If ros_time_is_active errors, let it throw Signed-off-by: Shane Loretz <sloretz@osrfoundation.org> * Get time source change from callback to avoid race if ROS time toggled quickly Signed-off-by: Shane Loretz <sloretz@osrfoundation.org> * Fix threshold and no pre-jump callback Signed-off-by: Shane Loretz <sloretz@osrfoundation.org> * Use RCUTILS_MS_TO_NS macro Signed-off-by: Shane Loretz <sloretz@osrfoundation.org> * Explicit cast for duration to system time Signed-off-by: Shane Loretz <sloretz@osrfoundation.org> * Throws at the end of docblock Signed-off-by: Shane Loretz <sloretz@osrfoundation.org> * Add tests for invalid and non-global contexts Signed-off-by: Shane Loretz <sloretz@osrfoundation.org>
- Loading branch information