1 /* Functions related to the java task instances. */
3 /* Copyright (c) 2007-2015. 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"
18 * This function associated a native task to a java task instance.
20 * @param jtask The java task instance.
21 * @param task The native task to bind.
22 * @param env The environment of the current thread.
24 * @exception If the class Task is not found the function throws
25 * the ClassNotFoundException. If the field bind of
26 * this class is not found the function throws the exception
27 * NotSuchFieldException.
29 void jtask_bind(jobject jtask, msg_task_t task, JNIEnv * env);
32 * This function returns a native task from a java task instance.
34 * @param jtask The java task object from which get the native task.
35 * @param env The environment of the current thread.
37 * @return The function returns the native task associated to the
40 * @exception If the class Task is not found the function throws
41 * the ClassNotFoundException. If the field bind of
42 * this class is not found the function throws the exception
43 * NotSuchFieldException.
45 msg_task_t jtask_to_native_task(jobject jtask, JNIEnv * env);
48 * This function tests if a java task instance is valid.
49 * A java task object is valid if it is bind to a native
52 * @param jtask The java task to test the validity.
53 * @param env The environment of the current thread.
55 * @return If the java task is valid the function returns true.
56 * Otherwise the function returns false.
58 jboolean jtask_is_valid(jobject jtask, JNIEnv * env);
61 * Class org_simgrid_msg_Task
65 JNIEXPORT void JNICALL
66 Java_org_simgrid_msg_Task_nativeInit(JNIEnv *env, jclass cls);
69 * Class org_simgrid_msg_Task
72 JNIEXPORT void JNICALL
73 Java_org_simgrid_msg_Task_create
74 (JNIEnv * env, jobject jtask, jstring jname, jdouble jcomputeDuration, jdouble jmessageSize);
75 JNIEXPORT void JNICALL
76 Java_org_simgrid_msg_Task_nativeFinalize(JNIEnv * env, jobject jtask);
78 * Class org_simgrid_msg_Task
79 * Method parallelCreate
81 JNIEXPORT void JNICALL
82 Java_org_simgrid_msg_Task_parallelCreate
84 jstring, jobjectArray,
88 * Class org_simgrid_msg_Task
90 * Signature (Lsimgrid/msg/Task;)V
92 /* JNIEXPORT void JNICALL Java_org_simgrid_msg_Task_destroy */
93 /* (JNIEnv *, jobject); */
96 * Class org_simgrid_msg_Task
100 JNIEXPORT void JNICALL Java_org_simgrid_msg_Task_cancel
104 * Class org_simgrid_msg_Task
108 JNIEXPORT void JNICALL Java_org_simgrid_msg_Task_execute
112 * Class org_simgrid_msg_Task
116 JNIEXPORT void JNICALL Java_org_simgrid_msg_Task_setBound
117 (JNIEnv *, jobject, jdouble);
120 * Class org_simgrid_msg_Task
122 * Signature ()Ljava/lang/String;
124 JNIEXPORT jstring JNICALL Java_org_simgrid_msg_Task_getName
128 * Class org_simgrid_msg_Task
130 * Signature ()Lsimgrid/msg/Process;
132 JNIEXPORT jobject JNICALL Java_org_simgrid_msg_Task_getSender
135 * Class org_simgrid_msg_Task
137 * Signature ()Lsimgrid/msg/Host;
139 JNIEXPORT jobject JNICALL Java_org_simgrid_msg_Task_getSource
142 * Class org_simgrid_msg_Task
143 * Method getFlopsAmount
146 JNIEXPORT jdouble JNICALL Java_org_simgrid_msg_Task_getFlopsAmount
150 * Class org_simgrid_msg_Task
152 * Signature (Ljava/lang/string;)V
154 JNIEXPORT void JNICALL
155 Java_org_simgrid_msg_Task_setName(JNIEnv *env, jobject jtask, jobject jname);
157 * Class org_simgrid_msg_Task
161 JNIEXPORT void JNICALL Java_org_simgrid_msg_Task_setPriority
162 (JNIEnv *, jobject, jdouble);
164 * Class org_simgrid_msg_Task
165 * Method setComputeDuration
168 JNIEXPORT void JNICALL
169 Java_org_simgrid_msg_Task_setFlopsAmount
170 (JNIEnv *env, jobject jtask, jdouble computationAmount);
173 * Class org_simgrid_msg_Task
177 JNIEXPORT void JNICALL
178 Java_org_simgrid_msg_Task_setBytesAmount
179 (JNIEnv *env, jobject jtask, jdouble dataSize);
182 * Class org_simgrid_msg_Task
185 JNIEXPORT void JNICALL
186 Java_org_simgrid_msg_Task_send
187 (JNIEnv *, jobject, jstring, jdouble);
190 * Class org_simgrid_msg_Task
193 JNIEXPORT void JNICALL
194 Java_org_simgrid_msg_Task_sendBounded
195 (JNIEnv *, jobject, jstring, jdouble, jdouble);
199 * Class org_simgrid_msg_Task
202 JNIEXPORT jobject JNICALL
203 Java_org_simgrid_msg_Task_receive
204 (JNIEnv *, jclass, jstring, jdouble, jobject);
207 * Class org_simgrid_msg_Task
209 * Signature (Ljava/lang/String;)Lorg/simgrid/msg/Comm;
211 JNIEXPORT jobject JNICALL
212 Java_org_simgrid_msg_Task_irecv(JNIEnv * env, jclass cls, jstring jmailbox);
214 * Class org_simgrid_msg_Task
215 * Method receiveBounded
217 JNIEXPORT jobject JNICALL
218 Java_org_simgrid_msg_Task_receiveBounded(JNIEnv * env, jclass cls,
219 jstring jalias, jdouble jtimeout,
220 jobject jhost, jdouble rate);
222 * Class org_simgrid_msg_Task
223 * Method irecvBounded
225 JNIEXPORT jobject JNICALL
226 Java_org_simgrid_msg_Task_irecvBounded(JNIEnv * env, jclass cls,
227 jstring jmailbox, jdouble rate);
229 * Class org_simgrid_msg_Task
231 * Signature (Lorg/simgrid/msg/Task;Ljava/lang/String;)Lorg/simgrid/msg/Comm;
233 JNIEXPORT jobject JNICALL
234 Java_org_simgrid_msg_Task_isend(JNIEnv *env, jobject jtask, jstring jmailbox);
236 * Class org_simgrid_msg_Task
237 * Method isendBounded
239 JNIEXPORT jobject JNICALL
240 Java_org_simgrid_msg_Task_isendBounded(JNIEnv *env, jobject jtask, jstring jmailbox, jdouble maxrate);
243 * Class org_simgrid_msg_Task
246 JNIEXPORT void JNICALL
247 Java_org_simgrid_msg_Task_dsend(JNIEnv * env, jobject jtask,
251 * Class org_simgrid_msg_Task
252 * Method dsendBounded
254 JNIEXPORT void JNICALL
255 Java_org_simgrid_msg_Task_dsendBounded(JNIEnv * env, jobject jtask,
256 jstring jalias, jdouble maxrate);
259 * Class org_simgrid_msg_Task
262 JNIEXPORT jboolean JNICALL
263 Java_org_simgrid_msg_Task_listen(JNIEnv *, jclass, jstring);
265 * Class org_simgrid_msg_Task
266 * Method listenFromHost
268 JNIEXPORT jint JNICALL
269 Java_org_simgrid_msg_Task_listenFromHost(JNIEnv *, jclass, jstring,
272 * Class org_simgrid_msg_Task
275 JNIEXPORT jint JNICALL
276 Java_org_simgrid_msg_Task_listenFrom(JNIEnv *, jclass, jstring);
280 #endif /* !MSG_JTASK_H */