7#if _WIN32 && BETTER_SLEEP
15 void SleepUntil(
const std::chrono::steady_clock::time_point& end)
17#if _WIN32 && BETTER_SLEEP
21 std::this_thread::sleep_until(end);
23#if _WIN32 && BETTER_SLEEP
28 bool WaitForCondition(
const std::function<
bool()>& condition,
const long long int timeout_ms,
const long long int check_interval_ms)
30 std::chrono::steady_clock::time_point start = std::chrono::steady_clock::now();
31 while (timeout_ms == 0 || std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::steady_clock::now() - start).count() < timeout_ms)
37 SleepFor(std::chrono::milliseconds(check_interval_ms));
44 std::chrono::steady_clock::time_point start = std::chrono::steady_clock::now();
45 while (timeout_ms == 0 || std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::steady_clock::now() - start).count() < timeout_ms)
A ManagersClient extended with a blackboard that can store any kind of data and a virtual Yield funct...
bool YieldForCondition(const std::function< bool()> &condition, BehaviourClient &client, const long long int timeout_ms=0)
void SleepUntil(const std::chrono::steady_clock::time_point &end)
bool WaitForCondition(const std::function< bool()> &condition, const long long int timeout_ms=0, const long long int check_interval_ms=10)
void SleepFor(const std::chrono::duration< _Rep, _Period > &time)