/* Java bindings of the s4u::VirtualMachine */
-/* Copyright (c) 2006-2019. The SimGrid Team. All rights reserved. */
+/* Copyright (c) 2006-2021. 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. */
* Create a `basic` VM : 1 core and 1GB of RAM.
* @param host Host node
* @param name name of the machine
- */
+ */
public VM(Host host, String name) {
this(host,name, /*coreAmount*/1, 1024, 0, 0);
}
* @param host Host node
* @param name name of the machine
* @param coreAmount the amount of cores of the VM
- */
+ */
public VM(Host host, String name, int coreAmount) {
this(host,name, coreAmount, 1024, 0, 0);
}
* @param ramSize size of the RAM that should be allocated (in MBytes)
* @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){
this(host, name, /*coreAmount*/1, ramSize, migNetSpeed, dpIntensity);
}
}
private native void nativeFinalize();
- /** Returns whether the given VM is currently suspended */
- public native int isCreated();
+ /** Returns whether the given VM is currently suspended */
+ 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();
+ /** Returns whether the given VM is currently suspended */
+ public native boolean isSuspended();
/** Returns the amount of virtual CPUs provided */
public int getCoreAmount() {
return coreAmount;
}
-
+
/**
* Natively implemented method create the VM.
* @param ramSize size of the RAM that should be allocated (in MB)
/** Change the host on which all processes are running
* (pre-copy is implemented)
- */
+ */
public void migrate(Host destination) throws HostFailureException{
try {
this.nativeMigration(destination);
Msg.info("Migration of VM "+this.getName()+" to "+destination.getName()+" is impossible ("+e.getMessage()+")");
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;
*
* 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