/** Turns that host off. All actors are forcefully stopped. */
void turn_off();
/** Returns if that host is currently up and running */
- bool is_on();
+ bool is_on() const;
/** Returns if that host is currently down and offline */
- bool is_off() { return not is_on(); }
+ bool is_off() const { return not is_on(); }
- const char* get_property(const char* key);
+ const char* get_property(const char* key) const;
void set_property(std::string key, std::string value);
std::unordered_map<std::string, std::string>* get_properties();
XBT_ATTRIB_DEPRECATED_v323("Please use Host::get_properties()") std::map<std::string, std::string>* getProperties()
return res;
}
- double get_speed();
- double get_available_speed();
- int get_core_count();
- double get_load();
+ double get_speed() const;
+ double get_available_speed() const;
+ int get_core_count() const;
+ double get_load() const;
- double get_pstate_speed(int pstate_index);
+ double get_pstate_speed(int pstate_index) const;
int get_pstate_count() const;
void set_pstate(int pstate_index);
- int get_pstate();
+ int get_pstate() const;
XBT_ATTRIB_DEPRECATED_v323("Please use Host::get_speed() instead.") double getSpeed() { return get_speed(); }
XBT_ATTRIB_DEPRECATED_v323("Please use Host::get_pstate_speed() instead.") double getPstateSpeed(int pstate_index)
return get_pstate_speed(pstate_index);
}
- std::vector<const char*> get_attached_storages();
+ std::vector<const char*> get_attached_storages() const;
XBT_ATTRIB_DEPRECATED_v323("Please use Host::get_attached_storages() instead.") void getAttachedStorages(
std::vector<const char*>* storages);
}
private:
- simgrid::xbt::string name_{"noname"};
+ simgrid::xbt::string name_ {"noname"};
std::unordered_map<std::string, Storage*>* mounts_ = nullptr; // caching
public:
}
}
-bool Host::is_on()
+bool Host::is_on() const
{
return this->pimpl_cpu->is_on();
}
}
/** Retrieve the property value (or nullptr if not set) */
-const char* Host::get_property(const char* key)
+const char* Host::get_property(const char* key) const
{
return this->pimpl_->get_property(key);
}
}
/** @brief Get the peak processor speed (in flops/s), at the specified pstate */
-double Host::get_pstate_speed(int pstate_index)
+double Host::get_pstate_speed(int pstate_index) const
{
return simgrid::simix::simcall([this, pstate_index] { return this->pimpl_cpu->get_pstate_peak_speed(pstate_index); });
}
*
* Finally, executions of priority 2 get twice the amount of flops than executions of priority 1.
*/
-double Host::get_speed()
+double Host::get_speed() const
{
return this->pimpl_cpu->get_speed(1.0);
}
/** @brief Returns the current computation load (in flops per second)
* The external load (coming from an availability trace) is not taken in account.
*/
-double Host::get_load()
+double Host::get_load() const
{
return this->pimpl_cpu->get_load();
}
*
* This accounts for external load (see @ref set_speed_trace()).
*/
-double Host::get_available_speed()
+double Host::get_available_speed() const
{
return this->pimpl_cpu->get_speed_ratio();
}
/** @brief Returns the number of core of the processor. */
-int Host::get_core_count()
+int Host::get_core_count() const
{
return this->pimpl_cpu->get_core_count();
}
simgrid::simix::simcall([this, pstate_index] { this->pimpl_cpu->set_pstate(pstate_index); });
}
/** @brief Retrieve the pstate at which the host is currently running */
-int Host::get_pstate()
+int Host::get_pstate() const
{
return this->pimpl_cpu->get_pstate();
}
* \brief Returns the list of storages attached to an host.
* \return a vector containing all storages attached to the host
*/
-std::vector<const char*> Host::get_attached_storages()
+std::vector<const char*> Host::get_attached_storages() const
{
return simgrid::simix::simcall([this] { return this->pimpl_->get_attached_storages(); });
}