diff options
Diffstat (limited to 'Simulator/include/simulation/Section.h')
| -rw-r--r-- | Simulator/include/simulation/Section.h | 76 |
1 files changed, 0 insertions, 76 deletions
diff --git a/Simulator/include/simulation/Section.h b/Simulator/include/simulation/Section.h deleted file mode 100644 index 3c11b073..00000000 --- a/Simulator/include/simulation/Section.h +++ /dev/null @@ -1,76 +0,0 @@ -#pragma once -#include "modeling/Datacenter.h" -#include "modeling/Room.h" -#include "simulation/history/SimulationHistory.h" - -#include <vector> -#include <iterator> - -namespace Simulation -{ - /** - * \brief Holds a datacenter and the tick on which the parent experiment should switch to this section. - * \tparam DatacenterType The type of datacenter to be used. - */ - template<typename DatacenterType> - class Section - { - public: - /** - * \brief Initializes the datacenter in the simulation. Sets paused to false and finished to false. - * \param dc The topology of this section. - * \param startTick The tick on which the experiment should start using the topology of this section. - */ - Section(DatacenterType& dc, uint32_t startTick) : datacenter(dc), startTick(startTick) - {} - - /** - * \return A reference to the datacenter of this section. - */ - DatacenterType& getDatacenter() - { - return datacenter; - } - - /** - * \return All machines in the datacenter of section. - */ - std::vector<std::reference_wrapper<Modeling::Machine>> getMachines() - { - using namespace std; - - vector<reference_wrapper<Modeling::Machine>> machineAccumulator; - - // For each serverroom, we get the racks in the room - vector<Modeling::ServerRoom>& rooms = datacenter.template getRoomsOfType<Modeling::ServerRoom>(); - for(auto& room : rooms) - // For each rack get the machines inside that rack - for(auto& rack : room.getEntitiesOfType<Modeling::Rack>()) - // Add each machine to the accumulator - for(auto& machine : rack.getMachines()) - machineAccumulator.push_back(ref(machine.second)); - - return machineAccumulator; - } - - /** - * \return The tick on which the experiment should start using the topology of this section. - */ - uint32_t getStartTick() const - { - return startTick; - } - - private: - /** - * \brief The datacenter that is used for experiments. - */ - DatacenterType datacenter; - - /** - * \brief The tick when the next sections starts. This is -1 if this is the last section. - */ - uint32_t startTick; - }; - -} |
