From 7bdb46430f9e7dce37001261f8434900082ba770 Mon Sep 17 00:00:00 2001 From: Martin Quinson Date: Mon, 10 Aug 2020 22:01:48 +0200 Subject: [PATCH] VM: allow to chain some setters --- include/simgrid/s4u/VirtualMachine.hpp | 6 +++--- src/plugins/vm/s4u_VirtualMachine.cpp | 9 ++++++--- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/include/simgrid/s4u/VirtualMachine.hpp b/include/simgrid/s4u/VirtualMachine.hpp index 689afdd918..e8a9f40bf5 100644 --- a/include/simgrid/s4u/VirtualMachine.hpp +++ b/include/simgrid/s4u/VirtualMachine.hpp @@ -49,10 +49,10 @@ public: void destroy() override; Host* get_pm() const; - void set_pm(Host* pm); + VirtualMachine* set_pm(Host* pm); size_t get_ramsize() const; - void set_ramsize(size_t ramsize); - void set_bound(double bound); + VirtualMachine* set_ramsize(size_t ramsize); + VirtualMachine* set_bound(double bound); VirtualMachine::state get_state(); static xbt::signal on_start; diff --git a/src/plugins/vm/s4u_VirtualMachine.cpp b/src/plugins/vm/s4u_VirtualMachine.cpp index 4b1429dbbe..8c3963ad60 100644 --- a/src/plugins/vm/s4u_VirtualMachine.cpp +++ b/src/plugins/vm/s4u_VirtualMachine.cpp @@ -131,9 +131,10 @@ simgrid::s4u::Host* VirtualMachine::get_pm() const return pimpl_vm_->get_physical_host(); } -void VirtualMachine::set_pm(simgrid::s4u::Host* pm) +VirtualMachine* VirtualMachine::set_pm(simgrid::s4u::Host* pm) { kernel::actor::simcall([this, pm]() { pimpl_vm_->set_physical_host(pm); }); + return this; } VirtualMachine::state VirtualMachine::get_state() @@ -146,9 +147,10 @@ size_t VirtualMachine::get_ramsize() const return pimpl_vm_->get_ramsize(); } -void VirtualMachine::set_ramsize(size_t ramsize) +VirtualMachine* VirtualMachine::set_ramsize(size_t ramsize) { pimpl_vm_->set_ramsize(ramsize); + return this; } /** @brief Set a CPU bound for a given VM. * @ingroup msg_VMs @@ -176,9 +178,10 @@ void VirtualMachine::set_ramsize(size_t ramsize) * 2. Note that bound == 0 means no bound (i.e., unlimited). But, if a host has multiple CPU cores, the CPU share of a * computation task (or a VM) never exceeds the capacity of a CPU core. */ -void VirtualMachine::set_bound(double bound) +VirtualMachine* VirtualMachine::set_bound(double bound) { kernel::actor::simcall([this, bound]() { pimpl_vm_->set_bound(bound); }); + return this; } } // namespace simgrid -- 2.20.1