protected Host() {
this.bind = 0;
this.data = null;
- };
+ }
@Override
public String toString (){
return this.name;
-
}
/**
*
* @return The host object with the given name.
* @exception HostNotFoundException if the name of the host is not valid.
- * NativeException if the native version of this method failed.
*/
- public native static Host getByName(String name)
- throws HostNotFoundException, NullPointerException;
+ public static native Host getByName(String name) throws HostNotFoundException;
/** Counts the installed hosts. */
- public native static int getCount();
+ public static native int getCount();
/** Returns the host of the current process. */
- public native static Host currentHost();
+ public static native Host currentHost();
/** Returns all hosts of the installed platform. */
- public native static Host[] all();
+ public static native Host[] all();
/**
* This static method sets a mailbox to receive in asynchronous mode.
*/
public static native void setAsyncMailbox(String mailboxName);
-
- /** Returns the name of an host. */
public String getName() {
return name;
}
- /** Sets the user data of the host. */
public void setData(Object data) {
this.data = data;
}
- /** Gets the user data of the host. */
+
public Object getData() {
return this.data;
}
/** Stops the host if it is on */
public native void off();
-
/**
* This method returns the speed of the processor of a host (in flops),
* regardless of the current load of the machine.
*/
public native double getSpeed();
- /** Returns the number of core of a host. */
public native double getCoreNumber();
- /** Returns the value of a given host property. */
public native String getProperty(String name);
- /** Changes the value of a given host property. */
public native void setProperty(String name, String value);
/** Tests if an host is up and running. */
public native boolean isOn();
/** This methods returns the list of storages (names) attached to an host */
public native String[] getAttachedStorage();
- /** Returns the amount of Joules consumed by that host so far */
+ /** After this call, sg_host_get_consumed_energy() will not interrupt your process
+ * (until after the next clock update).
+ */
+ public static native void updateAllEnergyConsumptions();
+ /** Returns the amount of Joules consumed by that host so far
+ *
+ * Please note that since the consumption is lazily updated, it may require a simcall to update it.
+ * The result is that the actor requesting this value will be interrupted,
+ * the value will be updated in kernel mode before returning the control to the requesting actor.
+ */
public native double getConsumedEnergy();
+
+ /** Returns the current pstate */
+ public native int getPstate();
+ /** Changes the current pstate */
+ public native void setPstate(int pstate);
+ public native int getPstatesCount();
+ /** Returns the speed of the processor (in flop/s) at the current pstate. See also @ref SURF_plugin_energy. */
+ public native double getCurrentPowerPeak();
+ /** Returns the speed of the processor (in flop/s) at a given pstate. See also @ref SURF_plugin_energy. */
+ public native double getPowerPeakAt(int pstate);
+
/** Class initializer, to initialize various JNI stuff */
- public static native void nativeInit();
+ private static native void nativeInit();
static {
nativeInit();
}