#include "src/surf/HostImpl.hpp"
#include "surf/surf.h" // routing_get_network_element_type FIXME:killme
-#include "src/simix/smx_private.hpp"
-
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(sg_host, sd, "Logging specific to sg_hosts");
size_t sg_host_count()
return simgrid::s4u::Host::by_name_or_null(name);
}
-sg_host_t sg_host_by_name_or_create(const char *name)
-{
- return simgrid::s4u::Host::by_name_or_create(name);
-}
-
xbt_dynar_t sg_hosts_as_dynar(void)
{
- xbt_dynar_t res = xbt_dynar_new(sizeof(sg_host_t),NULL);
+ xbt_dynar_t res = xbt_dynar_new(sizeof(sg_host_t),nullptr);
xbt_dict_cursor_t cursor = nullptr;
const char* name = nullptr;
simgrid::s4u::Host* host = nullptr;
xbt_dict_foreach(host_list, cursor, name, host)
- if (host && host->pimpl_netcard && host->pimpl_netcard->getRcType() == SURF_NETWORK_ELEMENT_HOST)
+ if (host && host->pimpl_netcard && host->pimpl_netcard->isHost())
xbt_dynar_push(res, &host);
return res;
}
// ========= Layering madness ==============*
-#include "src/msg/msg_private.h" // MSG_host_priv_free. FIXME: killme by initializing that level in msg when used
-#include "src/simix/smx_host_private.h" // SIMIX_host_destroy. FIXME: killme by initializing that level in simix when used
#include "src/surf/cpu_interface.hpp"
#include "src/surf/surf_routing.hpp"
-void sg_host_init()
-{
- MSG_HOST_LEVEL = simgrid::s4u::Host::extension_create([](void *p) {
- __MSG_host_priv_free((msg_host_priv_t) p);
- });
-
- SIMIX_HOST_LEVEL = simgrid::s4u::Host::extension_create(SIMIX_host_destroy);
- USER_HOST_LEVEL = simgrid::s4u::Host::extension_create(NULL);
-}
-
// ========== User data Layer ==========
void *sg_host_user(sg_host_t host) {
return host->extension(USER_HOST_LEVEL);
// =========== user-level functions ===============
// ================================================
-
-/** @brief Returns the total speed of a host
- */
+/** @brief Returns the total speed of a host */
double sg_host_speed(sg_host_t host)
{
return host->speed();
}
-double sg_host_get_available_speed(sg_host_t host){
- return surf_host_get_available_speed(host);
-}
-/** @brief Returns the number of cores of a host
-*/
-int sg_host_core_count(sg_host_t host) {
- return host->core_count();
-}
-
-/** @brief Returns the state of a host.
- * @return 1 if the host is active or 0 if it has crashed.
- */
-int sg_host_is_on(sg_host_t host) {
- return host->isOn();
+double sg_host_get_available_speed(sg_host_t host)
+{
+ return host->pimpl_cpu->getAvailableSpeed();
}
/** @brief Returns the number of power states for a host.
*
* \param host a host
* \param name a property name
- * \return value of a property (or NULL if property not set)
+ * \return value of a property (or nullptr if property not set)
*/
const char *sg_host_get_property_value(sg_host_t host, const char *name)
{
return (const char*) xbt_dict_get_or_null(sg_host_get_properties(host), name);
}
-/** @brief Displays debugging informations about a host */
+/** @brief Displays debugging information about a host */
void sg_host_dump(sg_host_t host)
{
xbt_dict_t props;
- xbt_dict_cursor_t cursor=NULL;
+ xbt_dict_cursor_t cursor=nullptr;
char *key,*data;
XBT_INFO("Displaying host %s", sg_host_get_name(host));
- XBT_INFO(" - speed: %.0f", sg_host_speed(host));
+ XBT_INFO(" - speed: %.0f", host->speed());
XBT_INFO(" - available speed: %.2f", sg_host_get_available_speed(host));
props = sg_host_get_properties(host);