X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/b7630a950a6b865fcc195c58e39e6c3cfa550ccb..ff52edfeb1b9c585656a745144fea2be10c90973:/src/simgrid/host.cpp diff --git a/src/simgrid/host.cpp b/src/simgrid/host.cpp index 7f8881b646..61de1034ea 100644 --- a/src/simgrid/host.cpp +++ b/src/simgrid/host.cpp @@ -137,8 +137,8 @@ double sg_host_get_available_speed(sg_host_t host){ /** @brief Returns the state of a host. * @return 1 if the host is active or 0 if it has crashed. */ -int sg_host_get_state(sg_host_t host) { - return host->p_cpu->getState(); +int sg_host_is_on(sg_host_t host) { + return host->p_cpu->isOn(); } /** @brief Returns the total energy consumed by the host (in Joules). @@ -154,7 +154,7 @@ double sg_host_get_consumed_energy(sg_host_t host) { * See also @ref SURF_plugin_energy. */ int sg_host_get_nb_pstates(sg_host_t host) { - return surf_host_get_nb_pstates(host); + return host->p_cpu->getNbPStates(); } /** @brief Gets the pstate at which that host currently runs. @@ -162,7 +162,7 @@ int sg_host_get_nb_pstates(sg_host_t host) { * See also @ref SURF_plugin_energy. */ int sg_host_get_pstate(sg_host_t host) { - return surf_host_get_pstate(host); + return host->p_cpu->getPState(); } namespace simgrid { @@ -177,21 +177,24 @@ Host::~Host() } /** Start the host if it is off */ -void Host::on() +void Host::turnOn() { simgrid::simix::kernel(std::bind(SIMIX_host_on, this)); } /** Stop the host if it is on */ -void Host::off() +void Host::turnOff() { /* Go to that function to follow the code flow through the simcall barrier */ if (0) simcall_HANDLER_host_off(&SIMIX_process_self()->simcall, this); simgrid::simix::simcall(SIMCALL_HOST_OFF, this); } -e_surf_resource_state_t Host::getState() { - return p_cpu->getState(); +bool Host::isOn() { + return p_cpu->isOn(); +} +bool Host::isOff() { + return ! p_cpu->isOn(); } @@ -248,8 +251,9 @@ Host* Host::by_name_or_create(const char* name) /** Set the pstate at which the host should run */ void Host::setPstate(int pstate_index) { - simgrid::simix::kernel( - std::bind(SIMIX_host_set_pstate, this, pstate_index)); + simgrid::simix::kernel(std::bind( + &simgrid::surf::Cpu::setPState, p_cpu, pstate_index + )); } /** Get the amount of watt dissipated at the given pstate when the host is idling */