X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/5e00312bf86c3868d644b7806cdba0abf23664a4..08761e536685c785fa8aae06a819f36fc9d62c80:/src/surf/VirtualMachineImpl.cpp?ds=sidebyside diff --git a/src/surf/VirtualMachineImpl.cpp b/src/surf/VirtualMachineImpl.cpp index 624465e452..018f049fad 100644 --- a/src/surf/VirtualMachineImpl.cpp +++ b/src/surf/VirtualMachineImpl.cpp @@ -4,7 +4,8 @@ /* 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. */ -#include "VirtualMachineImpl.hpp" +#include "src/surf/VirtualMachineImpl.hpp" +#include "simgrid/s4u/VirtualMachine.hpp" #include @@ -39,10 +40,9 @@ simgrid::xbt::signal onVmStateChange; std::deque VirtualMachineImpl::allVms_; -s4u::Host* VMModel::createVM(const char* name, sg_host_t host_PM) +s4u::Host* VMModel::createVM(const char* name, s4u::Host* host_PM) { - VirtualMachineImpl* vm = new VirtualMachineImpl(name, host_PM); - return vm->piface_; + return new s4u::VirtualMachine(name, host_PM); } /* In the real world, processes on the guest operating system will be somewhat degraded due to virtualization overhead. @@ -103,8 +103,8 @@ double VMModel::nextOccuringEvent(double now) * Resource * ************/ -VirtualMachineImpl::VirtualMachineImpl(const char* name, simgrid::s4u::Host* host_PM) - : HostImpl(new simgrid::s4u::Host(name), nullptr /*storage*/), hostPM_(host_PM) +VirtualMachineImpl::VirtualMachineImpl(simgrid::s4u::Host* piface, simgrid::s4u::Host* host_PM) + : HostImpl(piface, nullptr /*storage*/), hostPM_(host_PM) { /* Register this VM to the list of all VMs */ allVms_.push_back(this); @@ -129,7 +129,8 @@ VirtualMachineImpl::VirtualMachineImpl(const char* name, simgrid::s4u::Host* hos /* FIXME: TODO: we have to periodically input GUESTOS_NOISE to the system? how ? */ action_ = sub_cpu->execution_start(0); - XBT_VERB("Create VM(%s)@PM(%s) with %ld mounted disks", name, hostPM_->name().c_str(), xbt_dynar_length(storage_)); + XBT_VERB("Create VM(%s)@PM(%s) with %ld mounted disks", piface->name().c_str(), hostPM_->name().c_str(), + xbt_dynar_length(storage_)); } /* @@ -181,13 +182,13 @@ void VirtualMachineImpl::restore() } /** @brief returns the physical machine on which the VM is running **/ -sg_host_t VirtualMachineImpl::getPm() +s4u::Host* VirtualMachineImpl::getPm() { return hostPM_; } /* Update the physical host of the given VM */ -void VirtualMachineImpl::migrate(sg_host_t host_dest) +void VirtualMachineImpl::migrate(s4u::Host* host_dest) { const char* vm_name = piface_->name().c_str(); const char* pm_name_src = hostPM_->name().c_str();