/* Java bindings of the s4u::VirtualMachine */
-/* Copyright (c) 2006-2018. The SimGrid Team. All rights reserved. */
+/* Copyright (c) 2006-2020. 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. */
private int coreAmount = 1;
/**
- * Create a `basic' VM : 1 core and 1GB of RAM.
+ * Create a `basic` VM : 1 core and 1GB of RAM.
* @param host Host node
* @param name name of the machine
*/
* @param host Host node
* @param name name of the machine
* @param ramSize size of the RAM that should be allocated (in MBytes)
- * @param migNetSpeed (network bandwith allocated for migrations in MB/s, if you don't know put zero ;))
+ * @param migNetSpeed (network bandwidth allocated for migrations in MB/s, if you don't know put zero ;))
* @param dpIntensity (dirty page percentage according to migNetSpeed, [0-100], if you don't know put zero ;))
*/
public VM(Host host, String name, int ramSize, int migNetSpeed, int dpIntensity){
* @param name name of the machine
* @param coreAmount the amount of cores of the VM
* @param ramSize size of the RAM that should be allocated (in MBytes)
- * @param migNetSpeed (network bandwith allocated for migrations in MB/s, if you don't know put zero ;))
+ * @param migNetSpeed (network bandwidth allocated for migrations in MB/s, if you don't know put zero ;))
* @param dpIntensity (dirty page percentage according to migNetSpeed, [0-100], if you don't know put zero ;))
*/
public VM(Host host, String name, int coreAmount, int ramSize, int migNetSpeed, int dpIntensity){
/** Retrieve a VM from its name */
public static native VM getVMByName(String name);
- /* Make sure that the GC also destroys the C object */
+ /**
+ * Make sure that the GC also destroys the C object
+ * @deprecated (from Java9 onwards)
+ */
+ @Deprecated @Override
protected void finalize() throws Throwable {
nativeFinalize();
}
private native void nativeFinalize();
/** Returns whether the given VM is currently suspended */
- public native int isCreated();
+ public native boolean isCreated();
/** Returns whether the given VM is currently running */
- public native int isRunning();
+ public native boolean isRunning();
/** Returns whether the given VM is currently running */
- public native int isMigrating();
+ public native boolean isMigrating();
/** Returns whether the given VM is currently suspended */
- public native int isSuspended();
+ public native boolean isSuspended();
/** Returns the amount of virtual CPUs provided */
public int getCoreAmount() {
/**
* Natively implemented method create the VM.
* @param ramSize size of the RAM that should be allocated (in MB)
- * @param migNetSpeed (network bandwith allocated for migrations in MB/s, if you don't know put zero ;))
+ * @param migNetSpeed (network bandwidth allocated for migrations in MB/s, if you don't know put zero ;))
* @param dpIntensity (dirty page intensity, a percentage of migNetSpeed [0-100], if you don't know put zero ;))
*/
private native void create(Host host, String name, int coreAmount, int ramSize, int migNetSpeed, int dpIntensity);
this.nativeMigration(destination);
} catch (Exception e){
Msg.info("Migration of VM "+this.getName()+" to "+destination.getName()+" is impossible ("+e.getMessage()+")");
- throw new HostFailureException();
+ throw new HostFailureException(e.getMessage());
}
- // If the migration correcly returned, then we should change the currentHost value.
+ // If the migration correctly returned, then we should change the currentHost value.
this.currentHost = destination;
}
private native void nativeMigration(Host destination) throws MsgException;