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.
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);