X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/364eee0fc6ab77fddc5437ac273527bd27711724..67d66b0cf79b9fc02c0450f254584693dbf21d3b:/src/bindings/java/jmsg_comm.cpp diff --git a/src/bindings/java/jmsg_comm.cpp b/src/bindings/java/jmsg_comm.cpp index da8c34d658..5bc056aaf4 100644 --- a/src/bindings/java/jmsg_comm.cpp +++ b/src/bindings/java/jmsg_comm.cpp @@ -1,6 +1,6 @@ /* Java bindings to the Comm API */ -/* Copyright (c) 2012-2017. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2012-2021. The SimGrid Team. All rights 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. */ @@ -9,13 +9,10 @@ #include "jmsg.hpp" #include "jxbt_utilities.hpp" -#include #include XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(java); -extern "C" { - static jfieldID jcomm_field_Comm_bind; static jfieldID jcomm_field_Comm_finished; static jfieldID jcomm_field_Comm_receiving; @@ -23,14 +20,14 @@ static jfieldID jtask_field_Comm_task; static jfieldID jcomm_field_Comm_taskBind; void jcomm_bind_task(JNIEnv *env, jobject jcomm) { - msg_comm_t comm = (msg_comm_t) (uintptr_t) env->GetLongField(jcomm, jcomm_field_Comm_bind); + const_msg_comm_t comm = (msg_comm_t)(uintptr_t)env->GetLongField(jcomm, jcomm_field_Comm_bind); //test if we are receiving or sending a task. jboolean jreceiving = env->GetBooleanField(jcomm, jcomm_field_Comm_receiving); if (jreceiving == JNI_TRUE) { //bind the task object. msg_task_t task = MSG_comm_get_task(comm); xbt_assert(task != nullptr, "Task is nullptr"); - jobject jtask_global = static_cast(MSG_task_get_data(task)); + auto jtask_global = static_cast(MSG_task_get_data(task)); //case where the data has already been retrieved if (jtask_global == nullptr) { return; @@ -61,13 +58,12 @@ JNIEXPORT void JNICALL Java_org_simgrid_msg_Comm_nativeInit(JNIEnv *env, jclass } JNIEXPORT void JNICALL Java_org_simgrid_msg_Comm_nativeFinalize(JNIEnv *env, jobject jcomm) { - msg_comm_t comm; msg_task_t *task_received; task_received = (msg_task_t*) (uintptr_t) env->GetLongField(jcomm, jcomm_field_Comm_taskBind); delete task_received; - comm = (msg_comm_t) (uintptr_t) env->GetLongField(jcomm, jcomm_field_Comm_bind); + const_msg_comm_t comm = (msg_comm_t)(uintptr_t)env->GetLongField(jcomm, jcomm_field_Comm_bind); MSG_comm_destroy(comm); } @@ -99,7 +95,7 @@ JNIEXPORT jboolean JNICALL Java_org_simgrid_msg_Comm_test(JNIEnv *env, jobject j } JNIEXPORT void JNICALL Java_org_simgrid_msg_Comm_waitCompletion(JNIEnv *env, jobject jcomm, jdouble timeout) { - msg_comm_t comm = (msg_comm_t) (uintptr_t) env->GetLongField(jcomm, jcomm_field_Comm_bind); + auto comm = (msg_comm_t)(uintptr_t)env->GetLongField(jcomm, jcomm_field_Comm_bind); if (not comm) { jxbt_throw_null(env, "comm is null"); return; @@ -111,7 +107,7 @@ JNIEXPORT void JNICALL Java_org_simgrid_msg_Comm_waitCompletion(JNIEnv *env, job } msg_error_t status; - status = MSG_comm_wait(comm,static_cast(timeout)); + status = MSG_comm_wait(comm, timeout); env->SetBooleanField(jcomm, jcomm_field_Comm_finished, JNI_TRUE); if (status == MSG_OK) { jcomm_bind_task(env,jcomm); @@ -123,7 +119,7 @@ JNIEXPORT void JNICALL Java_org_simgrid_msg_Comm_waitCompletion(JNIEnv *env, job static msg_comm_t* jarray_to_commArray(JNIEnv *env, jobjectArray jcomms, /* OUT */ int *count) { *count = env->GetArrayLength(jcomms); - msg_comm_t* comms = new msg_comm_t[*count]; + auto* comms = new msg_comm_t[*count]; for (int i=0; i < *count; i++) { jobject jcomm = env->GetObjectArrayElement(jcomms, i); @@ -147,7 +143,7 @@ JNIEXPORT void JNICALL Java_org_simgrid_msg_Comm_waitAll(JNIEnv *env, jclass cls if (not comms) return; - MSG_comm_waitall(comms, count, static_cast(timeout)); + MSG_comm_waitall(comms, count, timeout); delete[] comms; } JNIEXPORT int JNICALL Java_org_simgrid_msg_Comm_waitAny(JNIEnv *env, jclass cls, jobjectArray jcomms) @@ -166,4 +162,3 @@ JNIEXPORT int JNICALL Java_org_simgrid_msg_Comm_waitAny(JNIEnv *env, jclass cls, xbt_dynar_free(&dyn); return rank; } -}