X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/9bc2f7734295810a24f98d65169f06705e3ea951..38f7ddbf61f574a934f191ef2d8358d9f8be1f96:/src/plugins/vm/s4u_VirtualMachine.cpp diff --git a/src/plugins/vm/s4u_VirtualMachine.cpp b/src/plugins/vm/s4u_VirtualMachine.cpp index f0884c9378..070acd9610 100644 --- a/src/plugins/vm/s4u_VirtualMachine.cpp +++ b/src/plugins/vm/s4u_VirtualMachine.cpp @@ -13,13 +13,13 @@ XBT_LOG_NEW_DEFAULT_CATEGORY(s4u_vm, "S4U virtual machines"); namespace simgrid { namespace s4u { -VirtualMachine::VirtualMachine(const char* name, s4u::Host* pm) : Host(name) +VirtualMachine::VirtualMachine(const char* name, s4u::Host* pm, int coreAmount) + : Host(name), pimpl_vm_(new vm::VirtualMachineImpl(this, pm, coreAmount)) { XBT_DEBUG("Create VM %s", name); - pimpl_vm_ = new vm::VirtualMachineImpl(this, pm); /* Currently, a VM uses the network resource of its physical host */ - pimpl_netcard = pm->pimpl_netcard; + pimpl_netpoint = pm->pimpl_netpoint; // Create a VCPU for this VM surf::CpuCas01* sub_cpu = dynamic_cast(pm->pimpl_cpu); @@ -51,12 +51,12 @@ VirtualMachine::~VirtualMachine() extension_set(nullptr); /* Don't free these things twice: they are the ones of my physical host */ - pimpl_netcard = nullptr; + pimpl_netpoint = nullptr; } bool VirtualMachine::isMigrating() { - return pimpl_vm_->isMigrating; + return pimpl_vm_ && pimpl_vm_->isMigrating; } double VirtualMachine::getRamsize() { @@ -66,6 +66,10 @@ simgrid::s4u::Host* VirtualMachine::pm() { return pimpl_vm_->getPm(); } +e_surf_vm_state_t VirtualMachine::getState() +{ + return pimpl_vm_->getState(); +} /** @brief Retrieve a copy of the parameters of that VM/PM * @details The ramsize and overcommit fields are used on the PM too */