15 #ifndef LIBSTATISTICS_COLLECTOR__COLLECTOR__COLLECTOR_HPP_
16 #define LIBSTATISTICS_COLLECTOR__COLLECTOR__COLLECTOR_HPP_
21 #include "libstatistics_collector/visibility_control.hpp"
22 #include "libstatistics_collector/moving_average_statistics/moving_average.hpp"
23 #include "libstatistics_collector/moving_average_statistics/types.hpp"
25 #include "metric_details_interface.hpp"
27 #include "rcpputils/thread_safety_annotations.hpp"
29 namespace libstatistics_collector
40 LIBSTATISTICS_COLLECTOR_PUBLIC
43 LIBSTATISTICS_COLLECTOR_PUBLIC
52 LIBSTATISTICS_COLLECTOR_PUBLIC
53 virtual void AcceptData(
const double measurement);
60 LIBSTATISTICS_COLLECTOR_PUBLIC
66 LIBSTATISTICS_COLLECTOR_PUBLIC
74 LIBSTATISTICS_COLLECTOR_PUBLIC
82 LIBSTATISTICS_COLLECTOR_PUBLIC
94 LIBSTATISTICS_COLLECTOR_PUBLIC
106 LIBSTATISTICS_COLLECTOR_PUBLIC
115 virtual bool SetupStart() RCPPUTILS_TSA_REQUIRES(mutex_) = 0;
122 virtual bool SetupStop() RCPPUTILS_TSA_REQUIRES(mutex_) = 0;
124 mutable std::mutex mutex_;
128 bool started_ RCPPUTILS_TSA_GUARDED_BY(mutex_) =
false;
134 #endif // LIBSTATISTICS_COLLECTOR__COLLECTOR__COLLECTOR_HPP_