From 5ed5460fffc44a8afb002b3a5e1559204403d089 Mon Sep 17 00:00:00 2001 From: Philip Manke Date: Wed, 12 Feb 2025 11:15:07 +0100 Subject: [PATCH] Add user settable timeout for worker callback --- interface/cuvis.hpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/interface/cuvis.hpp b/interface/cuvis.hpp index a9cc8fb..5ceefc3 100644 --- a/interface/cuvis.hpp +++ b/interface/cuvis.hpp @@ -1400,7 +1400,7 @@ namespace cuvis worker_state_t get_state() const; - void register_worker_callback(worker_callback_t callback, unsigned concurrency = 1); + void register_worker_callback(worker_callback_t callback, unsigned concurrency = 1, size_t measurement_timeout_ms = 1000); void reset_worker_callback(); @@ -2053,8 +2053,7 @@ namespace cuvis return out; } - - inline void Worker::register_worker_callback(worker_callback_t callback, unsigned concurrency) + inline void Worker::register_worker_callback(worker_callback_t callback, unsigned concurrency, size_t measurement_timeout_ms) { reset_worker_callback(); @@ -2062,11 +2061,12 @@ namespace cuvis _worker_poll_thread_run = true; - _worker_poll_thread = std::thread([this, callback, concurrency] { + _worker_poll_thread = std::thread([this, callback, concurrency, measurement_timeout_ms] + { std::deque> async_tasks; while (_worker_poll_thread_run.load()) { - auto ret = get_next_result(std::chrono::milliseconds(1000)); + auto ret = get_next_result(std::chrono::milliseconds(measurement_timeout_ms)); if (ret.mesu.has_value()) {