Peer serverPeer = InferenceModuleFactory.createPeerServer(context, NNModule.NAME);
assertNotNull(serverPeer);
- assertTrue(serverPeer.setIpPort());
+ assertTrue(serverPeer.setInfo());
assertTrue(serverPeer.activateControlChannel());
inferencePeer = InferenceModuleFactory.createPeerClient(context, NNModule.NAME);
assertNotNull(inferencePeer);
- assertTrue(inferencePeer.setIpPort(TEST_SERVER_IP, TEST_SERVER_PORT));
+ assertTrue(inferencePeer.setInfo(TEST_SERVER_IP, TEST_SERVER_PORT, "NoUUID"));
}
@Test
public void testPeerServerSetIpPort() {
inferencePeer = InferenceModuleFactory.createPeerServer(context, NNModule.NAME);
- assertEquals(true, inferencePeer.setIpPort());
+ assertEquals(true, inferencePeer.setInfo());
}
@Test
public void testPeerServerActivateControlChannel() {
inferencePeer = InferenceModuleFactory.createPeerServer(context, NNModule.NAME);
- inferencePeer.setIpPort();
+ inferencePeer.setInfo();
assertEquals(true, inferencePeer.activateControlChannel());
}
@Test
public void testPeerServerDeactivateControlChannel() {
inferencePeer = InferenceModuleFactory.createPeerServer(context, NNModule.NAME);
- inferencePeer.setIpPort();
+ inferencePeer.setInfo();
inferencePeer.activateControlChannel();
assertEquals(true, inferencePeer.deactivateControlChannel());
public void testPeerClientSetIpPort() {
inferencePeer = InferenceModuleFactory.createPeerClient(context, NNModule.NAME);
- assertEquals(true, inferencePeer.setIpPort(TEST_SERVER_IP, TEST_SERVER_PORT));
+ assertEquals(true, inferencePeer.setInfo(TEST_SERVER_IP, TEST_SERVER_PORT, "NoUUID"));
}
@Test
public void testPeerClientActivateControlChannel() {
inferencePeer = InferenceModuleFactory.createPeerClient(context, NNModule.NAME);
- inferencePeer.setIpPort(TEST_SERVER_IP, TEST_SERVER_PORT);
+ inferencePeer.setInfo(TEST_SERVER_IP, TEST_SERVER_PORT, "NoUUID");
assertEquals(true, inferencePeer.activateControlChannel());
}
@Test
public void testPeerClientDeactivateControlChannel() {
Peer serverPeer = InferenceModuleFactory.createPeerServer(context, NNModule.NAME);
- serverPeer.setIpPort();
+ serverPeer.setInfo();
serverPeer.activateControlChannel();
inferencePeer = InferenceModuleFactory.createPeerClient(context, NNModule.NAME);
- inferencePeer.setIpPort();
+ inferencePeer.setInfo();
inferencePeer.activateControlChannel();
assertEquals(true, inferencePeer.deactivateControlChannel());
Peer serverPeer = InferenceModuleFactory.createPeerServer(context, NNModule.NAME);
assertNotNull(serverPeer);
- assertTrue(serverPeer.setIpPort());
+ assertTrue(serverPeer.setInfo());
assertTrue(serverPeer.activateControlChannel());
inferencePeer = InferenceModuleFactory.createPeerClient(context, NNModule.NAME);
assertNotNull(inferencePeer);
- assertTrue(inferencePeer.setIpPort(TEST_SERVER_IP, TEST_SERVER_PORT));
+ assertTrue(inferencePeer.setInfo(TEST_SERVER_IP, TEST_SERVER_PORT, "NoUUID"));
assertTrue(inferenceHandler.addInferencePeer(inferencePeer)); // Cover activateControlChannel()
tensorHandler = new TensorHandler(inferenceHandler);
registerNativeInstance(instance, (Long instance) -> destroy(instance));
}
- public boolean setIpPort() {
- return setInfo(instance, peerIP, peerPort);
+ public boolean setInfo() {
+ return setInfo(instance, "0.0.0.0", 3000, "N/A");
}
- public boolean setIpPort(String peerIP, int peerPort) {
- /** TODO: Check validation of arguments. **/
- this.peerIP = peerIP;
- this.peerPort = peerPort;
- return setIpPort();
+ public boolean setInfo(String peerIP, int peerPort, String uuid) {
+ return setInfo(instance, peerIP, peerPort, uuid);
}
public boolean activateControlChannel() {
private native long create(Context context, String[] args);
- private native boolean setInfo(long handle, String peerIP, int peerPort);
+ private native boolean setInfo(long handle, String peerIP, int peerPort, String uuid);
private native boolean activate(long handle);
private native boolean deactivate(long handle);
private static native void destroy(long handle);
-
- private String peerIP = "0.0.0.0";
-
- private int peerPort = 3000;
}
delete[] strs;
}
-jboolean PeerNativeInterface::Java_com_samsung_android_beyond_InferencePeer_set_info(JNIEnv *env, jobject thiz, jlong handle, jstring peer_ip, jint peer_port)
+jboolean PeerNativeInterface::Java_com_samsung_android_beyond_InferencePeer_set_info(JNIEnv *env, jobject thiz, jlong handle, jstring peer_ip, jint peer_port, jstring uuid)
{
if (env == nullptr) {
ErrPrint("JNIEnv is nullptr.");
return false;
}
- const struct beyond_peer_info *info;
- int ret = peer_handle->peer->GetInfo(info);
- if (ret < 0) {
- ErrPrint("Fail to get peer info, ret = %d\n", ret);
+ beyond_peer_info info = {
+ .name = const_cast<char *>("serviceName"),
+ .host = nullptr,
+ .port = { static_cast<unsigned short>(peer_port) },
+ .free_memory = 0llu,
+ .free_storage = 0llu,
+ .count_of_runtimes = 0,
+ .runtimes = nullptr,
+ };
+
+ const char *_uuid = env->GetStringUTFChars(uuid, nullptr);
+ if (_uuid == nullptr) {
+ ErrPrint("Fail to get StringUTFChars of uuid.");
return false;
}
- const char *ip = env->GetStringUTFChars(peer_ip, nullptr);
- if (ip == nullptr) {
+ snprintf(info.uuid, BEYOND_UUID_LEN, "%s", _uuid);
+
+ env->ReleaseStringUTFChars(uuid, _uuid);
+
+ const char *_peer_ip = env->GetStringUTFChars(peer_ip, nullptr);
+ if (_peer_ip == nullptr) {
ErrPrint("Fail to get StringUTFChars of a peer IP.");
return false;
}
- DbgPrint("Peer IP = %s, ports[0] = %d, ports[1] = %d\n", ip, peer_port, peer_port + 1);
- struct beyond_peer_info new_info = {
- .host = const_cast<char *>(ip),
- .port = { static_cast<unsigned short>(peer_port), static_cast<unsigned short>(peer_port + 1) },
- .free_memory = 0llu,
- .free_storage = 0llu,
- };
- if (info == nullptr) {
- new_info.uuid[0] = '\0';
- } else {
- snprintf(new_info.uuid, BEYOND_UUID_LEN, "%s", info->uuid);
- }
- ret = peer_handle->peer->SetInfo(&new_info);
+
+ info.host = const_cast<char *>(_peer_ip);
+
+ DbgPrint("Peer IP = %s, ports[0] = %d, uuid = %s\n", _peer_ip, peer_port, info.uuid);
+
+ int ret = peer_handle->peer->SetInfo(&info);
+ env->ReleaseStringUTFChars(peer_ip, _peer_ip);
if (ret < 0) {
ErrPrint("Fail to set peer info, ret = %d\n", ret);
- env->ReleaseStringUTFChars(peer_ip, ip);
return false;
}
- env->ReleaseStringUTFChars(peer_ip, ip);
-
return true;
}
static JNINativeMethod peer_jni_methods[] = {
{ "create", "(Landroid/content/Context;[Ljava/lang/String;)J", (void *)Java_com_samsung_android_beyond_InferencePeer_create },
- { "setInfo", "(JLjava/lang/String;I)Z", (void *)Java_com_samsung_android_beyond_InferencePeer_set_info },
+ { "setInfo", "(JLjava/lang/String;ILjava/lang/String;)Z", (void *)Java_com_samsung_android_beyond_InferencePeer_set_info },
{ "activate", "(J)Z", (void *)Java_com_samsung_android_beyond_InferencePeer_activate },
{ "configure", "(JCLjava/lang/Object;)Z", (void *)Java_com_samsung_android_beyond_InferencePeer_configure },
{ "deactivate", "(J)Z", (void *)Java_com_samsung_android_beyond_InferencePeer_deactivate },
virtual ~PeerNativeInterface(void);
static jlong Java_com_samsung_android_beyond_InferencePeer_create(JNIEnv *env, jobject thiz, jobject context, jobjectArray args);
- static jboolean Java_com_samsung_android_beyond_InferencePeer_set_info(JNIEnv *env, jobject thiz, jlong handle, jstring peer_ip, jint peer_port);
- static jboolean Java_com_samsung_android_beyond_InferencePeer_set_uuid(JNIEnv *env, jobject thiz, jlong handle, jstring peer_uuid);
+ static jboolean Java_com_samsung_android_beyond_InferencePeer_set_info(JNIEnv *env, jobject thiz, jlong handle, jstring peer_ip, jint peer_port, jstring uuid);
static jboolean Java_com_samsung_android_beyond_InferencePeer_activate(JNIEnv *env, jobject thiz, jlong handle);
static jboolean Java_com_samsung_android_beyond_InferencePeer_prepare(JNIEnv *env, jobject thiz, jlong handle);
static jboolean Java_com_samsung_android_beyond_InferencePeer_deactivate(JNIEnv *env, jobject thiz, jlong handle);