static simgrid::xbt::signal<void(VirtualMachine&)> on_shutdown;
static simgrid::xbt::signal<void(VirtualMachine&)> on_suspend;
static simgrid::xbt::signal<void(VirtualMachine&)> on_resume;
+ static simgrid::xbt::signal<void(VirtualMachine&)> on_migration_start;
+ static simgrid::xbt::signal<void(VirtualMachine&)> on_migration_end;
// Deprecated methods
XBT_ATTRIB_DEPRECATED_v323("Please use VirtualMachine::get_state()") VirtualMachine::state getState()
THROWF(vm_error, 0, "Cannot migrate VM '%s' that is already migrating.", vm->get_cname());
vm->get_impl()->is_migrating_ = true;
+ simgrid::s4u::VirtualMachine::on_migration_start(*vm);
std::string rx_name =
std::string("__pr_mig_rx:") + vm->get_cname() + "(" + src_pm->get_cname() + "-" + dst_pm->get_cname() + ")";
rx->join();
vm->get_impl()->is_migrating_ = false;
+ simgrid::s4u::VirtualMachine::on_migration_end(*vm);
}
simgrid::xbt::signal<void(VirtualMachine&)> VirtualMachine::on_shutdown;
simgrid::xbt::signal<void(VirtualMachine&)> VirtualMachine::on_suspend;
simgrid::xbt::signal<void(VirtualMachine&)> VirtualMachine::on_resume;
+simgrid::xbt::signal<void(VirtualMachine&)> VirtualMachine::on_migration_start;
+simgrid::xbt::signal<void(VirtualMachine&)> VirtualMachine::on_migration_end;
VirtualMachine::VirtualMachine(const char* name, s4u::Host* physical_host, int core_amount)
: VirtualMachine(name, physical_host, core_amount, 1024)