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);
74 JNIEXPORT void JNICALL
75 Java_org_simgrid_msg_Task_nativeFinalize(JNIEnv * env, jobject jtask);
77 * Class org_simgrid_msg_Task
78 * Method parallelCreate
80 JNIEXPORT void JNICALL
81 Java_org_simgrid_msg_Task_parallelCreate
83 jstring, jobjectArray,
87 * Class org_simgrid_msg_Task
89 * Signature (Lsimgrid/msg/Task;)V
91 /* JNIEXPORT void JNICALL Java_org_simgrid_msg_Task_destroy */
92 /* (JNIEnv *, jobject); */
95 * Class org_simgrid_msg_Task
99 JNIEXPORT void JNICALL Java_org_simgrid_msg_Task_cancel
103 * Class org_simgrid_msg_Task
107 JNIEXPORT void JNICALL Java_org_simgrid_msg_Task_execute
111 * Class org_simgrid_msg_Task
115 JNIEXPORT void JNICALL Java_org_simgrid_msg_Task_setBound
116 (JNIEnv *, jobject, jdouble);
119 * Class org_simgrid_msg_Task
121 * Signature ()Ljava/lang/String;
123 JNIEXPORT jstring JNICALL Java_org_simgrid_msg_Task_getName
127 * Class org_simgrid_msg_Task
129 * Signature ()Lsimgrid/msg/Process;
131 JNIEXPORT jobject JNICALL Java_org_simgrid_msg_Task_getSender
134 * Class org_simgrid_msg_Task
136 * Signature ()Lsimgrid/msg/Host;
138 JNIEXPORT jobject JNICALL Java_org_simgrid_msg_Task_getSource
141 * Class org_simgrid_msg_Task
142 * Method getFlopsAmount
145 JNIEXPORT jdouble JNICALL Java_org_simgrid_msg_Task_getFlopsAmount
149 * Class org_simgrid_msg_Task
151 * Signature (Ljava/lang/string;)V
153 JNIEXPORT void JNICALL
154 Java_org_simgrid_msg_Task_setName(JNIEnv *env, jobject jtask, jobject jname);
156 * Class org_simgrid_msg_Task
160 JNIEXPORT void JNICALL Java_org_simgrid_msg_Task_setPriority
161 (JNIEnv *, jobject, jdouble);
163 * Class org_simgrid_msg_Task
164 * Method setComputeDuration
167 JNIEXPORT void JNICALL
168 Java_org_simgrid_msg_Task_setFlopsAmount
169 (JNIEnv *env, jobject jtask, jdouble computationAmount);
172 * Class org_simgrid_msg_Task
176 JNIEXPORT void JNICALL
177 Java_org_simgrid_msg_Task_setBytesAmount
178 (JNIEnv *env, jobject jtask, jdouble dataSize);
181 * Class org_simgrid_msg_Task
184 JNIEXPORT void JNICALL
185 Java_org_simgrid_msg_Task_send
186 (JNIEnv *, jobject, jstring, jdouble);
189 * Class org_simgrid_msg_Task
192 JNIEXPORT void JNICALL
193 Java_org_simgrid_msg_Task_sendBounded
194 (JNIEnv *, jobject, jstring, jdouble, jdouble);
198 * Class org_simgrid_msg_Task
201 JNIEXPORT jobject JNICALL
202 Java_org_simgrid_msg_Task_receive
203 (JNIEnv *, jclass, jstring, jdouble, jobject);
206 * Class org_simgrid_msg_Task
208 * Signature (Ljava/lang/String;)Lorg/simgrid/msg/Comm;
210 JNIEXPORT jobject JNICALL
211 Java_org_simgrid_msg_Task_irecv(JNIEnv * env, jclass cls, jstring jmailbox);
213 * Class org_simgrid_msg_Task
214 * Method receiveBounded
216 JNIEXPORT jobject JNICALL
217 Java_org_simgrid_msg_Task_receiveBounded(JNIEnv * env, jclass cls,
218 jstring jalias, jdouble jtimeout,
219 jobject jhost, jdouble rate);
221 * Class org_simgrid_msg_Task
222 * Method irecvBounded
224 JNIEXPORT jobject JNICALL
225 Java_org_simgrid_msg_Task_irecvBounded(JNIEnv * env, jclass cls,
226 jstring jmailbox, jdouble rate);
228 * Class org_simgrid_msg_Task
230 * Signature (Lorg/simgrid/msg/Task;Ljava/lang/String;)Lorg/simgrid/msg/Comm;
232 JNIEXPORT jobject JNICALL
233 Java_org_simgrid_msg_Task_isend(JNIEnv *env, jobject jtask, jstring jmailbox);
235 * Class org_simgrid_msg_Task
236 * Method isendBounded
238 JNIEXPORT jobject JNICALL
239 Java_org_simgrid_msg_Task_isendBounded(JNIEnv *env, jobject jtask, jstring jmailbox, jdouble maxrate);
242 * Class org_simgrid_msg_Task
245 JNIEXPORT void JNICALL
246 Java_org_simgrid_msg_Task_dsend(JNIEnv * env, jobject jtask,
250 * Class org_simgrid_msg_Task
251 * Method dsendBounded
253 JNIEXPORT void JNICALL
254 Java_org_simgrid_msg_Task_dsendBounded(JNIEnv * env, jobject jtask,
255 jstring jalias, jdouble maxrate);
258 * Class org_simgrid_msg_Task
261 JNIEXPORT jboolean JNICALL
262 Java_org_simgrid_msg_Task_listen(JNIEnv *, jclass, jstring);
264 * Class org_simgrid_msg_Task
265 * Method listenFromHost
267 JNIEXPORT jint JNICALL
268 Java_org_simgrid_msg_Task_listenFromHost(JNIEnv *, jclass, jstring,
271 * Class org_simgrid_msg_Task
274 JNIEXPORT jint JNICALL
275 Java_org_simgrid_msg_Task_listenFrom(JNIEnv *, jclass, jstring);
279 #endif /* !MSG_JTASK_H */