Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Add setComputeDuration in Task
authorSamuel Lepetit <samuel.lepetit@inria.fr>
Wed, 9 May 2012 15:11:17 +0000 (17:11 +0200)
committerSamuel Lepetit <samuel.lepetit@inria.fr>
Wed, 9 May 2012 15:11:17 +0000 (17:11 +0200)
org/simgrid/msg/Task.java
src/jmsg_task.c
src/jmsg_task.h

index b4890be..5242090 100644 (file)
@@ -132,7 +132,11 @@ public class Task {
         * @param priority      The new priority of the task.
         */ 
        public native void setPriority(double priority);
-
+       /**
+        * Set the computation amount needed to process the task
+        * @param computationAmount the amount of computation needed to process the task
+        */
+       public native void setComputeDuration(double computationAmount);
        /* *                     * *
         * * Computation-related * *
         * *                     * */
index 844ed84..8b52a30 100644 (file)
@@ -16,6 +16,7 @@
 #include "jxbt_utilities.h"
 
 #include <msg/msg.h>
+
 XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(jmsg);
 
 static jmethodID jtask_method_Comm_constructor;
@@ -320,6 +321,17 @@ Java_org_simgrid_msg_Task_setPriority(JNIEnv * env,
   MSG_task_set_priority(task, (double) priority);
 }
 JNIEXPORT void JNICALL
+Java_org_simgrid_msg_Task_setComputeDuration
+               (JNIEnv *env, jobject jtask, jdouble computationAmount) {
+       m_task_t task = jtask_to_native_task(jtask, env);
+
+       if (!task) {
+    jxbt_throw_notbound(env, "task", jtask);
+    return;
+       }
+       MSG_task_set_compute_duration(task, (double) computationAmount);
+}
+JNIEXPORT void JNICALL
 Java_org_simgrid_msg_Task_send(JNIEnv * env,jobject jtask,
                                     jstring jalias,
                                     jdouble jtimeout)
index 8925bcb..d8e7fc7 100644 (file)
@@ -169,7 +169,14 @@ Java_org_simgrid_msg_Task_getRemainingDuration(JNIEnv *, jobject);
  */
 JNIEXPORT void JNICALL Java_org_simgrid_msg_Task_setPriority
     (JNIEnv *, jobject, jdouble);
-
+/**
+ * Class               org_simgrid_msg_Task
+ * Method              setComputationAmount
+ * Signature   (D)V
+ */
+JNIEXPORT void JNICALL
+Java_org_simgrid_msg_Task_setComputeDuration
+               (JNIEnv *env, jobject jtask, jdouble computationAmount);
 /**
  * Class               org_simgrid_msg_Task
  * Method              send