6 #ifndef FREQUENCYTIMEBALANCER_HPP_INCLUDE
7 #define FREQUENCYTIMEBALANCER_HPP_INCLUDE
39 const std::vector<double> &previous_times,
40 const std::vector<double> &previous_control_frequencies,
41 const std::vector<double> &previous_achieved_frequencies,
42 const std::vector<std::pair<unsigned int, double> > &frequency_limits_by_high_priority_count,
43 double low_priority_frequency) = 0;
53 static std::unique_ptr<FrequencyTimeBalancer>
make_unique(
54 double minimum_frequency,
55 double maximum_frequency);
58 static std::shared_ptr<FrequencyTimeBalancer>
make_shared(
59 double minimum_frequency,
60 double maximum_frequency);
Definition: FrequencyTimeBalancer.hpp:21
virtual double get_target_time() const =0
return the target time last used to balance the frequencies.
static std::shared_ptr< FrequencyTimeBalancer > make_shared(double minimum_frequency, double maximum_frequency)
Allocate a FrequencyTimeBalancer instance.
Definition: FrequencyTimeBalancer.cpp:278
virtual std::vector< double > balance_frequencies_by_time(const std::vector< double > &previous_times, const std::vector< double > &previous_control_frequencies, const std::vector< double > &previous_achieved_frequencies, const std::vector< std::pair< unsigned int, double > > &frequency_limits_by_high_priority_count, double low_priority_frequency)=0
Return the recommended frequency controls given observed times while operating under a given set of p...
FrequencyTimeBalancer()=default
static std::unique_ptr< FrequencyTimeBalancer > make_unique(double minimum_frequency, double maximum_frequency)
Allocate a FrequencyTimeBalancer instance.
Definition: FrequencyTimeBalancer.cpp:269
virtual ~FrequencyTimeBalancer()=default
Definition: Accumulator.cpp:12