/*
- * simgrid.msg.Task.java 1.00 07/05/01
- *
- * Copyright 2006,2007 Martin Quinson, Malek Cherier
+ * 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.
+ * (GNU LGPL) which comes with this package.
*/
package org.simgrid.msg;
* a native task. Even if this attribute is public you must never
* access to it. It is set automatically during the build of the object.
*/
- public long bind = 0;
-
+ private long bind = 0;
+ /**
+ * Task name
+ */
+ protected String name;
/** Default constructor (all fields to 0 or null) */
public Task() {
/* * * *
* * Getters / Setters * *
* * * */
- /** Gets the name of a task
- * FIXME: Cache it.
- * @return
+ /**
+ * Gets the name of a task
*/
- public native String getName();
- /** Gets the sender of the task
+ public String getName() {
+ return name;
+ }
+ /**
+ * Gets the sender of the task
* Returns null if the task hasn't been sent yet
*/
public native Process getSender();
/** Gets the remaining computation of the task
*/
public native double getRemainingDuration();
+ /**
+ * Sets the name of the task
+ * @param name the new task name.c
+ */
+ public native void setName(String name);
/**
* This method sets the priority of the computation of the task.
* The priority doesn't affect the transfer rate. For example a
* @param priority The new priority of the task.
*/
public native void setPriority(double priority);
- /* * * *
- * * Communication-related * *
- * * * */
-
-
+ /**
+ * 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 * *
* * * */
* The natively implemented method to destroy a MSG task.
*/
protected native void destroy();
+ /* * * *
+ * * Communication-related * *
+ * * * */
/** Send the task asynchronously on the mailbox identified by the specified name,
* with no way to retrieve whether the communication succeeded or not
*/
public static native void nativeInit();
static {
+ Msg.nativeInit();
nativeInit();
}
}