-/* Copyright (c) 2013-2018. The SimGrid Team. All rights reserved. */
+/* Copyright (c) 2013-2019. The SimGrid Team. All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
* under the terms of the license (GNU LGPL) which comes with this package. */
static void hostStateChange(s4u::Host& host)
{
- if (host.is_off()) { // just turned off.
+ if (not host.is_on()) { // just turned off.
std::vector<s4u::VirtualMachine*> trash;
/* Find all VMs living on that host */
for (s4u::VirtualMachine* const& vm : VirtualMachineImpl::allVms_)
}
}
-static void addActiveTask(kernel::activity::ExecImplPtr exec)
+static void addActiveTask(kernel::activity::ActivityImplPtr exec)
{
- s4u::VirtualMachine *vm = dynamic_cast<s4u::VirtualMachine*>(exec->host_);
+ s4u::VirtualMachine* vm =
+ dynamic_cast<s4u::VirtualMachine*>(boost::static_pointer_cast<simgrid::kernel::activity::ExecImpl>(exec)->host_);
if (vm != nullptr) {
VirtualMachineImpl *vm_impl = vm->get_impl();
vm_impl->active_tasks_ = vm_impl->active_tasks_ + 1;
}
}
-static void removeActiveTask(kernel::activity::ExecImplPtr exec)
+static void removeActiveTask(kernel::activity::ActivityImplPtr exec)
{
- s4u::VirtualMachine *vm = dynamic_cast<s4u::VirtualMachine*>(exec->host_);
+ s4u::VirtualMachine* vm =
+ dynamic_cast<s4u::VirtualMachine*>(boost::static_pointer_cast<simgrid::kernel::activity::ExecImpl>(exec)->host_);
if (vm != nullptr) {
VirtualMachineImpl *vm_impl = vm->get_impl();
vm_impl->active_tasks_ = vm_impl->active_tasks_ - 1;
s4u::Host::on_state_change.connect(hostStateChange);
kernel::activity::ExecImpl::on_creation.connect(addActiveTask);
kernel::activity::ExecImpl::on_completion.connect(removeActiveTask);
- kernel::activity::ExecImpl::on_resumed.connect(addActiveTask);
- kernel::activity::ExecImpl::on_suspended.connect(removeActiveTask);
+ kernel::activity::ActivityImpl::on_resumed.connect(addActiveTask);
+ kernel::activity::ActivityImpl::on_suspended.connect(removeActiveTask);
}
double VMModel::next_occuring_event(double now)
VirtualMachineImpl::VirtualMachineImpl(simgrid::s4u::VirtualMachine* piface, simgrid::s4u::Host* host_PM,
int core_amount, size_t ramsize)
- : HostImpl(piface), physical_host_(host_PM), core_amount_(core_amount), ramsize_(ramsize), user_bound_(std::numeric_limits<double>::max())
+ : HostImpl(piface), physical_host_(host_PM), core_amount_(core_amount), user_bound_(std::numeric_limits<double>::max()), ramsize_(ramsize)
{
/* Register this VM to the list of all VMs */
allVms_.push_back(piface);
for (auto& smx_process : process_list_) {
XBT_DEBUG("kill %s@%s on behalf of %s which shutdown that VM.", smx_process.get_cname(),
smx_process.host_->get_cname(), issuer->get_cname());
- SIMIX_process_kill(&smx_process, issuer);
+ issuer->kill(&smx_process);
}
set_state(s4u::VirtualMachine::state::DESTROYED);