Support multiple core workers in one process (#7623)

This commit is contained in:
Kai Yang
2020-04-07 11:01:47 +08:00
committed by GitHub
parent e91595f955
commit 48b48cc8c2
90 changed files with 2014 additions and 1411 deletions
@@ -14,25 +14,19 @@ static std::shared_ptr<ray::LocalMemoryBuffer> JByteArrayToBuffer(JNIEnv *env,
JNIEXPORT jlong JNICALL
Java_org_ray_streaming_runtime_transfer_TransferHandler_createWriterClientNative(
JNIEnv *env, jobject this_obj, jlong core_worker_ptr, jobject async_func,
jobject sync_func) {
JNIEnv *env, jobject this_obj, jobject async_func, jobject sync_func) {
auto ray_async_func = FunctionDescriptorToRayFunction(env, async_func);
auto ray_sync_func = FunctionDescriptorToRayFunction(env, sync_func);
auto *writer_client =
new WriterClient(reinterpret_cast<ray::CoreWorker *>(core_worker_ptr),
ray_async_func, ray_sync_func);
auto *writer_client = new WriterClient(ray_async_func, ray_sync_func);
return reinterpret_cast<jlong>(writer_client);
}
JNIEXPORT jlong JNICALL
Java_org_ray_streaming_runtime_transfer_TransferHandler_createReaderClientNative(
JNIEnv *env, jobject this_obj, jlong core_worker_ptr, jobject async_func,
jobject sync_func) {
JNIEnv *env, jobject this_obj, jobject async_func, jobject sync_func) {
ray::RayFunction ray_async_func = FunctionDescriptorToRayFunction(env, async_func);
ray::RayFunction ray_sync_func = FunctionDescriptorToRayFunction(env, sync_func);
auto *reader_client =
new ReaderClient(reinterpret_cast<ray::CoreWorker *>(core_worker_ptr),
ray_async_func, ray_sync_func);
auto *reader_client = new ReaderClient(ray_async_func, ray_sync_func);
return reinterpret_cast<jlong>(reader_client);
}
@@ -12,48 +12,58 @@ extern "C" {
* Method: createWriterClientNative
* Signature: (J)J
*/
JNIEXPORT jlong JNICALL Java_org_ray_streaming_runtime_transfer_TransferHandler_createWriterClientNative
(JNIEnv *, jobject, jlong, jobject, jobject);
JNIEXPORT jlong JNICALL
Java_org_ray_streaming_runtime_transfer_TransferHandler_createWriterClientNative(JNIEnv *,
jobject,
jobject,
jobject);
/*
* Class: org_ray_streaming_runtime_transfer_TransferHandler
* Method: createReaderClientNative
* Signature: (J)J
*/
JNIEXPORT jlong JNICALL Java_org_ray_streaming_runtime_transfer_TransferHandler_createReaderClientNative
(JNIEnv *, jobject, jlong, jobject, jobject);
JNIEXPORT jlong JNICALL
Java_org_ray_streaming_runtime_transfer_TransferHandler_createReaderClientNative(JNIEnv *,
jobject,
jobject,
jobject);
/*
* Class: org_ray_streaming_runtime_transfer_TransferHandler
* Method: handleWriterMessageNative
* Signature: (J[B)V
*/
JNIEXPORT void JNICALL Java_org_ray_streaming_runtime_transfer_TransferHandler_handleWriterMessageNative
(JNIEnv *, jobject, jlong, jbyteArray);
JNIEXPORT void JNICALL
Java_org_ray_streaming_runtime_transfer_TransferHandler_handleWriterMessageNative(
JNIEnv *, jobject, jlong, jbyteArray);
/*
* Class: org_ray_streaming_runtime_transfer_TransferHandler
* Method: handleWriterMessageSyncNative
* Signature: (J[B)[B
*/
JNIEXPORT jbyteArray JNICALL Java_org_ray_streaming_runtime_transfer_TransferHandler_handleWriterMessageSyncNative
(JNIEnv *, jobject, jlong, jbyteArray);
JNIEXPORT jbyteArray JNICALL
Java_org_ray_streaming_runtime_transfer_TransferHandler_handleWriterMessageSyncNative(
JNIEnv *, jobject, jlong, jbyteArray);
/*
* Class: org_ray_streaming_runtime_transfer_TransferHandler
* Method: handleReaderMessageNative
* Signature: (J[B)V
*/
JNIEXPORT void JNICALL Java_org_ray_streaming_runtime_transfer_TransferHandler_handleReaderMessageNative
(JNIEnv *, jobject, jlong, jbyteArray);
JNIEXPORT void JNICALL
Java_org_ray_streaming_runtime_transfer_TransferHandler_handleReaderMessageNative(
JNIEnv *, jobject, jlong, jbyteArray);
/*
* Class: org_ray_streaming_runtime_transfer_TransferHandler
* Method: handleReaderMessageSyncNative
* Signature: (J[B)[B
*/
JNIEXPORT jbyteArray JNICALL Java_org_ray_streaming_runtime_transfer_TransferHandler_handleReaderMessageSyncNative
(JNIEnv *, jobject, jlong, jbyteArray);
JNIEXPORT jbyteArray JNICALL
Java_org_ray_streaming_runtime_transfer_TransferHandler_handleReaderMessageSyncNative(
JNIEnv *, jobject, jlong, jbyteArray);
#ifdef __cplusplus
}