]> AND Public Git Repository - simgrid.git/blobdiff - src/kernel/resource/VirtualMachineImpl.cpp
Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Fix build
[simgrid.git] / src / kernel / resource / VirtualMachineImpl.cpp
index a04e7abf2a0df9f908e7aa2749d2b24db041d9f4..fdb27a1de6b9dd100a39711915e46a7a3b8b4bae 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2013-2021. The SimGrid Team. All rights reserved.          */
+/* Copyright (c) 2013-2022. 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. */
@@ -75,9 +75,9 @@ static void add_active_exec(s4u::Exec const& task)
   }
 }
 
-static void remove_active_exec(s4u::Activity& task)
+static void remove_active_exec(s4u::Activity const& task)
 {
-  const auto* exec = dynamic_cast<s4u::Exec*>(&task);
+  const auto* exec = dynamic_cast<s4u::Exec const*>(&task);
   if (exec == nullptr)
     return;
   if (not exec->is_assigned())
@@ -118,9 +118,9 @@ static void remove_active_activity(kernel::activity::ActivityImpl const& act)
 
 VMModel::VMModel(const std::string& name) : HostModel(name)
 {
-  s4u::Host::on_state_change.connect(host_state_change);
-  s4u::Exec::on_start.connect(add_active_exec);
-  s4u::Activity::on_completion.connect(remove_active_exec);
+  s4u::Host::on_state_change_cb(host_state_change);
+  s4u::Exec::on_start_cb(add_active_exec);
+  s4u::Activity::on_completion_cb(remove_active_exec);
   activity::ActivityImpl::on_resumed.connect(add_active_activity);
   activity::ActivityImpl::on_suspended.connect(remove_active_activity);
 }
@@ -184,7 +184,7 @@ VirtualMachineImpl::VirtualMachineImpl(const std::string& name, s4u::VirtualMach
    * The value for GUESTOS_NOISE corresponds to the cost of the global action associated to the VM.  It corresponds to
    * the cost of a VM running no tasks.
    */
-  action_ = physical_host_->get_cpu()->execution_start(0, core_amount_);
+  action_ = physical_host_->get_cpu()->execution_start(0, core_amount_, 0);
 
   // It's empty for now, so it should not request resources in the PM
   update_action_weight();
@@ -195,7 +195,6 @@ VirtualMachineImpl::VirtualMachineImpl(const std::string& name, s4u::VirtualMach
 /** @brief A physical host does not disappear in the current SimGrid code, but a VM may disappear during a simulation */
 void VirtualMachineImpl::vm_destroy()
 {
-  s4u::VirtualMachine::on_destruction(*piface_);
   /* I was already removed from the allVms set if the VM was destroyed cleanly */
   auto iter = find(allVms_.begin(), allVms_.end(), piface_);
   if (iter != allVms_.end())
@@ -206,7 +205,7 @@ void VirtualMachineImpl::vm_destroy()
   xbt_assert(ret, "Bug: some resource still remains");
 }
 
-void VirtualMachineImpl::suspend(smx_actor_t issuer)
+void VirtualMachineImpl::suspend(const actor::ActorImpl* issuer)
 {
   if (vm_state_ != s4u::VirtualMachine::State::RUNNING)
     throw VmFailureException(XBT_THROW_POINT,
@@ -254,7 +253,7 @@ void VirtualMachineImpl::resume()
  *
  * @param issuer the actor requesting the shutdown
  */
-void VirtualMachineImpl::shutdown(smx_actor_t issuer)
+void VirtualMachineImpl::shutdown(actor::ActorImpl* issuer)
 {
   if (vm_state_ != s4u::VirtualMachine::State::RUNNING)
     XBT_VERB("Shutting down the VM %s even if it's not running but in state %s", piface_->get_cname(),