/*
* Bindings to the MSG hosts
*
- * Copyright 2006-2012 The SimGrid Team
+ * Copyright (c) 2006-2013. The SimGrid Team.
* All right reserved.
*
* This program is free software; you can redistribute
* Thus it is represented as a physical resource with computing capabilities, some
* mailboxes to enable running process to communicate with remote ones, and some private
* data that can be only accessed by local process. An instance of this class is always
- * binded with the corresponding native host. All the native hosts are automatically created
+ * bound with the corresponding native host. All the native hosts are automatically created
* during the call of the method Msg.createEnvironment(). This method take as parameter a
* platform file which describes all elements of the platform (host, link, root..).
* You cannot create a host yourself.
/**
* Host name
*/
- private String name;
+ protected String name;
/**
* User data.
this.bind = 0;
this.data = null;
};
+
+ public String toString (){
+ return this.name;
+
+ }
/**
* This static method gets an host instance associated with a native
*/
public native static Host[] all();
+ /**
+ * 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);
+
+
/**
* This method returns the name of a host.
* @return The name of the host.
public String getName() {
return name;
}
+
/**
* Sets the data of the host.
* @param data
return null != this.data;
}
+ /**
+ * This method start the host if it is off
+ */
+ public native void on();
+
+ /**
+ * This method stop the host if it is on
+ */
+ public native void off();
+
+
/**
* This method returns the number of tasks currently running on a host.
* The external load is not taken in account.
*
*/
public native double getSpeed();
+
+ /**
+ * This method returns the number of core of a host.
+ *
+ * @return The speed of the processor of the host in flops.
+ *
+ */
+ public native double getCoreNumber();
+
/**
* Returns the value of a given host property.
*/
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.
+
+ /** This method tests if a host is available.
* @return True if the host is available.
*/
public native boolean isAvail();