1 /* Functions related to the java task instances. */
3 /* Copyright (c) 2007-2014. The SimGrid Team.
4 * All rights reserved. */
6 /* This program is free software; you can redistribute it and/or modify it
7 * under the terms of the license (GNU LGPL) which comes with this package. */
13 #include "simgrid/msg.h"
17 * This function associated a native task to a java task instance.
19 * @param jtask The java task instance.
20 * @param task The native task to bind.
21 * @param env The environment of the current thread.
23 * @exception If the class Task is not found the function throws
24 * the ClassNotFoundException. If the field bind of
25 * this class is not found the function throws the exception
26 * NotSuchFieldException.
28 void jtask_bind(jobject jtask, msg_task_t task, JNIEnv * env);
31 * This function returns a native task from a java task instance.
33 * @param jtask The java task object from which get the native task.
34 * @param env The environment of the current thread.
36 * @return The function returns the native task associated to the
39 * @exception If the class Task is not found the function throws
40 * the ClassNotFoundException. If the field bind of
41 * this class is not found the function throws the exception
42 * NotSuchFieldException.
44 msg_task_t jtask_to_native_task(jobject jtask, JNIEnv * env);
47 * This function tests if a java task instance is valid.
48 * A java task object is valid if it is bind to a native
51 * @param jtask The java task to test the validity.
52 * @param env The environment of the current thread.
54 * @return If the java task is valid the function returns true.
55 * Otherwise the function returns false.
57 jboolean jtask_is_valid(jobject jtask, JNIEnv * env);
60 * Class org_simgrid_msg_Task
64 JNIEXPORT void JNICALL
65 Java_org_simgrid_msg_Task_nativeInit(JNIEnv *env, jclass cls);
68 * Class org_simgrid_msg_Task
71 JNIEXPORT void JNICALL
72 Java_org_simgrid_msg_Task_create
73 (JNIEnv * env, jobject jtask, jstring jname, jdouble jcomputeDuration, jdouble jmessageSize);
75 * Class org_simgrid_msg_Task
76 * Method parallelCreate
78 JNIEXPORT void JNICALL
79 Java_org_simgrid_msg_Task_parallelCreate
81 jstring, jobjectArray,
85 * Class org_simgrid_msg_Task
87 * Signature (Lsimgrid/msg/Task;)V
89 /* JNIEXPORT void JNICALL Java_org_simgrid_msg_Task_destroy */
90 /* (JNIEnv *, jobject); */
93 * Class org_simgrid_msg_Task
97 JNIEXPORT void JNICALL Java_org_simgrid_msg_Task_cancel
101 * Class org_simgrid_msg_Task
105 JNIEXPORT void JNICALL Java_org_simgrid_msg_Task_execute
109 * Class org_simgrid_msg_Task
113 JNIEXPORT void JNICALL Java_org_simgrid_msg_Task_setBound
114 (JNIEnv *, jobject, jdouble);
117 * Class org_simgrid_msg_Task
119 * Signature ()Ljava/lang/String;
121 JNIEXPORT jstring JNICALL Java_org_simgrid_msg_Task_getName
125 * Class org_simgrid_msg_Task
127 * Signature ()Lsimgrid/msg/Process;
129 JNIEXPORT jobject JNICALL Java_org_simgrid_msg_Task_getSender
132 * Class org_simgrid_msg_Task
134 * Signature ()Lsimgrid/msg/Host;
136 JNIEXPORT jobject JNICALL Java_org_simgrid_msg_Task_getSource
139 * Class org_simgrid_msg_Task
140 * Method getFlopsAmount
143 JNIEXPORT jdouble JNICALL Java_org_simgrid_msg_Task_getFlopsAmount
147 * Class org_simgrid_msg_Task
149 * Signature (Ljava/lang/string;)V
151 JNIEXPORT void JNICALL
152 Java_org_simgrid_msg_Task_setName(JNIEnv *env, jobject jtask, jobject jname);
154 * Class org_simgrid_msg_Task
158 JNIEXPORT void JNICALL Java_org_simgrid_msg_Task_setPriority
159 (JNIEnv *, jobject, jdouble);
161 * Class org_simgrid_msg_Task
162 * Method setComputeDuration
165 JNIEXPORT void JNICALL
166 Java_org_simgrid_msg_Task_setFlopsAmount
167 (JNIEnv *env, jobject jtask, jdouble computationAmount);
170 * Class org_simgrid_msg_Task
174 JNIEXPORT void JNICALL
175 Java_org_simgrid_msg_Task_setBytesAmount
176 (JNIEnv *env, jobject jtask, jdouble dataSize);
179 * Class org_simgrid_msg_Task
182 JNIEXPORT void JNICALL
183 Java_org_simgrid_msg_Task_send
184 (JNIEnv *, jobject, jstring, jdouble);
187 * Class org_simgrid_msg_Task
190 JNIEXPORT void JNICALL
191 Java_org_simgrid_msg_Task_sendBounded
192 (JNIEnv *, jobject, jstring, jdouble, jdouble);
196 * Class org_simgrid_msg_Task
199 JNIEXPORT jobject JNICALL
200 Java_org_simgrid_msg_Task_receive
201 (JNIEnv *, jclass, jstring, jdouble, jobject);
204 * Class org_simgrid_msg_Task
206 * Signature (Ljava/lang/String;)Lorg/simgrid/msg/Comm;
208 JNIEXPORT jobject JNICALL
209 Java_org_simgrid_msg_Task_irecv(JNIEnv * env, jclass cls, jstring jmailbox);
211 * Class org_simgrid_msg_Task
212 * Method receiveBounded
214 JNIEXPORT jobject JNICALL
215 Java_org_simgrid_msg_Task_receiveBounded(JNIEnv * env, jclass cls,
216 jstring jalias, jdouble jtimeout,
217 jobject jhost, jdouble rate);
219 * Class org_simgrid_msg_Task
220 * Method irecvBounded
222 JNIEXPORT jobject JNICALL
223 Java_org_simgrid_msg_Task_irecvBounded(JNIEnv * env, jclass cls,
224 jstring jmailbox, jdouble rate);
226 * Class org_simgrid_msg_Task
228 * Signature (Lorg/simgrid/msg/Task;Ljava/lang/String;)Lorg/simgrid/msg/Comm;
230 JNIEXPORT jobject JNICALL
231 Java_org_simgrid_msg_Task_isend(JNIEnv *env, jobject jtask, jstring jmailbox);
233 * Class org_simgrid_msg_Task
234 * Method isendBounded
236 JNIEXPORT jobject JNICALL
237 Java_org_simgrid_msg_Task_isendBounded(JNIEnv *env, jobject jtask, jstring jmailbox, jdouble maxrate);
240 * Class org_simgrid_msg_Task
243 JNIEXPORT void JNICALL
244 Java_org_simgrid_msg_Task_dsend(JNIEnv * env, jobject jtask,
248 * Class org_simgrid_msg_Task
249 * Method dsendBounded
251 JNIEXPORT void JNICALL
252 Java_org_simgrid_msg_Task_dsendBounded(JNIEnv * env, jobject jtask,
253 jstring jalias, jdouble maxrate);
256 * Class org_simgrid_msg_Task
259 JNIEXPORT jboolean JNICALL
260 Java_org_simgrid_msg_Task_listen(JNIEnv *, jclass, jstring);
262 * Class org_simgrid_msg_Task
263 * Method listenFromHost
265 JNIEXPORT jint JNICALL
266 Java_org_simgrid_msg_Task_listenFromHost(JNIEnv *, jclass, jstring,
269 * Class org_simgrid_msg_Task
272 JNIEXPORT jint JNICALL
273 Java_org_simgrid_msg_Task_listenFrom(JNIEnv *, jclass, jstring);
277 #endif /* !MSG_JTASK_H */