Motion Master
Loading...
Searching...
No Matches
parameter_value_refresher.h
Go to the documentation of this file.
1#pragma once
2
3#include <readerwriterqueue/readerwriterqueue.h>
4
5#include <atomic>
6#include <chrono>
7#include <future>
8#include <map>
9
11
13 public:
15
16 void start();
17 void stop();
18 void add(VirtualParameter *virtual_parameter);
19 void remove(VirtualParameter *virtual_parameter);
20
21 private:
22 std::map<VirtualParameter *, std::atomic_int> parameters_;
23 moodycamel::ReaderWriterQueue<VirtualParameter *> add_parameter_queue_;
24 moodycamel::ReaderWriterQueue<VirtualParameter *> remove_parameter_queue_;
25 std::atomic_bool running_;
26 std::future<void> future_;
27 std::atomic_bool update_needed_;
28
29 void run();
30};
Definition: parameter_value_refresher.h:12
ParameterValueRefresher()
Definition: parameter_value_refresher.cc:8
void start()
Definition: parameter_value_refresher.cc:11
void add(VirtualParameter *virtual_parameter)
Definition: parameter_value_refresher.cc:111
void stop()
Definition: parameter_value_refresher.cc:109
void remove(VirtualParameter *virtual_parameter)
Definition: parameter_value_refresher.cc:119
Definition: virtual_parameter.h:9