-template <typename C, typename D>
-bool Baton::timed_wait(const std::chrono::time_point<C, D>& timeout) {
- auto now = C::now();
+template <typename Clock, typename Duration, typename F>
+bool Baton::try_wait_until(
+ const std::chrono::time_point<Clock, Duration>& deadline,
+ F&& mainContextFunc) {
+ auto now = Clock::now();