X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/8e8f8b64b899284cbd166542ba352cd0c44059e8..57588c3696134c233df4059f48b4188310805d83:/src/bindings/java/org/simgrid/msg/Host.java diff --git a/src/bindings/java/org/simgrid/msg/Host.java b/src/bindings/java/org/simgrid/msg/Host.java index c00dd54ba9..9165a10316 100644 --- a/src/bindings/java/org/simgrid/msg/Host.java +++ b/src/bindings/java/org/simgrid/msg/Host.java @@ -1,16 +1,15 @@ -/* - * Bindings to the MSG hosts - * - * Copyright 2006-2012 The SimGrid Team - * All right 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. - * - */ +/* Bindings to the MSG hosts */ + +/* Copyright (c) 2006-2014. 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. */ + package org.simgrid.msg; +import org.simgrid.msg.Storage; + /** * A host object represents a location (any possible place) where a process may run. * Thus it is represented as a physical resource with computing capabilities, some @@ -50,22 +49,19 @@ public class Host { * @see Host.getByName(). */ private long bind; - /** - * Host name - */ - private String name; + protected String name; - /** - * User data. - */ + /** User data. */ private Object data; - /** - * - */ - protected Host() { + protected Host() { this.bind = 0; this.data = null; - }; + } + + @Override + public String toString (){ + return this.name; + } /** * This static method gets an host instance associated with a native @@ -74,99 +70,85 @@ public class Host { * @param name The name of the host to get. * * @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; - /** - * This static method returns the count of the installed hosts. - * - * @return The count of the installed hosts. + * @exception HostNotFoundException if the name of the host is not valid. */ - public native static int getCount(); + public static native Host getByName(String name) throws HostNotFoundException; + /** Counts the installed hosts. */ + public static native int getCount(); - /** - * This static method return an instance to the host of the current process. - * - * @return The host on which the current process is executed. - */ - public native static Host currentHost(); + /** Returns the host of the current process. */ + public static native Host currentHost(); - /** - * This static method returns all of the hosts of the installed platform. - * - * @return An array containing all the hosts installed. - * - */ - public native static Host[] all(); + /** Returns all hosts of the installed platform. */ + public static native Host[] all(); - /** - * This method returns the name of a host. - * @return The name of the host. + /** + * This static method sets a mailbox to receive in asynchronous mode. + * + * All messages sent to this mailbox will be transferred to + * the receiver without waiting for the receive call. + * The receive call will still be necessary to use the received data. + * If there is a need to receive some messages asynchronously, and some not, + * two different mailboxes should be used. * - */ + * @param mailboxName The name of the mailbox + */ + public static native void setAsyncMailbox(String mailboxName); + public String getName() { return name; } - /** - * Sets the data of the host. - * @param data - */ + public void setData(Object data) { this.data = data; } - /** - * Gets the data of the host. - * - * @return The data object associated with the host. - */ + public Object getData() { return this.data; } - - /** - * Checks whether a host has data. - * - * @return True if the host has an associated data object. - */ + /** Returns true if the host has an associated data object. */ public boolean hasData() { return null != this.data; } - /** - * This method returns the number of tasks currently running on a host. - * The external load is not taken in account. - * - * @return The number of tasks currently running on a host. - */ - public native int getLoad(); + /** Starts the host if it is off */ + public native void on(); + /** Stops the host if it is on */ + public native void off(); /** - * This method returns the speed of the processor of a host, + * This method returns the speed of the processor of a host (in flops), * regardless of the current load of the machine. - * - * @return The speed of the processor of the host in flops. - * */ public native double getSpeed(); - /** - * Returns the value of a given host property. - */ + public native double getCoreNumber(); + public native String getProperty(String name); - /** - * Change the value of a given host property. - */ public native void setProperty(String name, String value); - /** This method tests if a host is available. - * @return True if the host is available. - */ - public native boolean isAvail(); + /** Tests if an host is up and running. */ + public native boolean isOn(); + + /** Returns the list of mount point names on an host */ + public native Storage[] getMountedStorage(); + /** 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 */ + public native double getConsumedEnergy(); - /** - * Class initializer, to initialize various JNI stuff - */ - public static native void nativeInit(); + /** 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 */ + private static native void nativeInit(); static { nativeInit(); }