X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/5d2730ebe780871aad000c557cbe4e8f414a0134..611d822b02f836d7abe031cced6adc4281ef4356:/src/bindings/java/org/simgrid/msg/VM.java diff --git a/src/bindings/java/org/simgrid/msg/VM.java b/src/bindings/java/org/simgrid/msg/VM.java index cdd7cd797d..8a9b10868f 100644 --- a/src/bindings/java/org/simgrid/msg/VM.java +++ b/src/bindings/java/org/simgrid/msg/VM.java @@ -1,6 +1,6 @@ /* Java bindings of the s4u::VirtualMachine */ -/* Copyright (c) 2006-2017. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2006-2018. 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. */ @@ -10,7 +10,7 @@ package org.simgrid.msg; public class VM extends Host { // No need to declare a new bind variable: we use the one inherited from the super class Host - private Host currentHost; + private Host currentHost; private int coreAmount = 1; /** @@ -56,7 +56,7 @@ public class VM extends Host { public VM(Host host, String name, int coreAmount, int ramSize, int migNetSpeed, int dpIntensity){ super(); super.name = name; - this.currentHost = host; + this.currentHost = host; this.coreAmount = coreAmount; create(host, name, coreAmount, ramSize, migNetSpeed, dpIntensity); } @@ -66,18 +66,6 @@ public class VM extends Host { /** Retrieve a VM from its name */ public static native VM getVMByName(String name); - - /** Shutdown and unref the VM. - * - * Actually, this strictly equivalent to shutdown(). - * In C and in libvirt, the destroy function also releases the memory associated to the VM, - * but this is not the way it goes in Java. The VM will only get destroyed by the garbage - * collector when it is not referenced anymore by your variables. So, to see the VM really - * destroyed, don't call this function but simply release any ref you have on it. - */ - public void destroy() { - shutdown(); - } /* Make sure that the GC also destroys the C object */ protected void finalize() throws Throwable { @@ -110,7 +98,6 @@ public class VM extends Host { */ private native void create(Host host, String name, int coreAmount, int ramSize, int migNetSpeed, int dpIntensity); - /** * Set a CPU bound for a given VM. * @param bound in flops/s @@ -120,14 +107,16 @@ public class VM extends Host { /** start the VM */ public native void start(); - /** - * Immediately kills all processes within the given VM. - * + * Immediately kills all processes within the given VM. + * * No extra delay occurs. If you want to simulate this too, you want to use a MSG_process_sleep() */ public native void shutdown(); + /** Shutdown and unref the VM. */ + public native void destroy(); + /** Change the host on which all processes are running * (pre-copy is implemented) */ @@ -138,24 +127,22 @@ public class VM extends Host { Msg.info("Migration of VM "+this.getName()+" to "+destination.getName()+" is impossible ("+e.getMessage()+")"); throw new HostFailureException(); } - // If the migration correcly returned, then we should change the currentHost value. - this.currentHost = destination; + // If the migration correcly returned, then we should change the currentHost value. + this.currentHost = destination; } private native void nativeMigration(Host destination) throws MsgException; /** Immediately suspend the execution of all processes within the given VM * - * No suspension cost occurs. If you want to simulate this too, you want to - * use a \ref File.write() before or after, depending on the exact semantic - * of VM suspend to you. + * No suspension cost occurs. If you want to simulate this too, you want to use a \ref File.write() before or + * after, depending on the exact semantic of VM suspend to you. */ public native void suspend(); /** Immediately resumes the execution of all processes within the given VM * - * No resume cost occurs. If you want to simulate this too, you want to - * use a \ref File.read() before or after, depending on the exact semantic - * of VM resume to you. + * No resume cost occurs. If you want to simulate this too, you want to use a \ref File.read() before or after, + * depending on the exact semantic of VM resume to you. */ public native void resume();