Scheduler
mdpGovernorConfiguration.cpp
Go to the documentation of this file.
1 
11 
12 #include <string>
13 
14 #include "mdpGovernor.h"
15 #include "schedulerDimensions.h"
16 
17 using namespace MdpGov;
18 
20 {
22  if (governor == nullptr)
23  {
24  std::string value = getStringValue("scheduler", "governor");
25  if (!value.compare(MdpGovernor::configKey))
26  return (new MdpGovernor);
27  }
28  return governor;
29 }
30 
31 std::vector<Mdp::StateSpaceDimension*> MdpGovernorConfiguration::getDimensionsFromFile()
32 {
33  std::vector<Mdp::StateSpaceDimension*> vect;
34  std::vector<std::string> values = getStringList("mdpGovernor", "dimensions");
35  for (size_t i = 0; i < values.size(); i++)
36  {
37  if (!values[i].compare(ReadyQueueDimension::configKey))
38  {
39  vect.push_back(new ReadyQueueDimension);
40  }
41  else if (!values[i].compare(WaitQueueDimension::configKey))
42  {
43  vect.push_back(new WaitQueueDimension);
44  }
45  else if (values[i].compare(FrequencyDimension::configKey))
46  {
47  vect.push_back(new FrequencyDimension);
48  }
49  else if (values[i].compare(TemperatureDimension::configKey))
50  {
51  vect.push_back(new TemperatureDimension);
52  }
53  else if (values[i].compare(MissRateDimension::configKey))
54  {
55  vect.push_back(new MissRateDimension);
56  }
57  }
58  return vect;
59 }
60 
61 
62 
63 
static constexpr const char * configKey
static constexpr const char * configKey
static constexpr const char * configKey
Definition: mdpGovernor.h:27
static constexpr const char * configKey
static constexpr const char * configKey
virtual FreqGovernor * getFreqGovernorFromFile()
virtual Scheduler::FreqGovernor * getFreqGovernorFromFile() override
virtual std::vector< std::string > getStringList(std::string section, std::string key)
static constexpr const char * configKey
virtual std::vector< Mdp::StateSpaceDimension * > getDimensionsFromFile()
virtual std::string getStringValue(std::string section, std::string key)