package com.samsung.android.beyond.inference;
+import java.util.*;
import android.util.Log;
import com.samsung.android.beyond.inference.tensor.TensorSet;
import androidx.annotation.NonNull;
public class InferenceHandler extends NativeInstance {
+ private List<Peer> peerList = new ArrayList<Peer>();
private TensorOutputCallback tensorOutputCallback;
registerNativeInstance(nativeInstance, (Long instance) -> destroy(instance));
}
+ // TODO:
+ // removePeer() should be provided
public boolean addInferencePeer(@NonNull Peer inferencePeer) {
if (instance == 0L) {
Log.e(TAG, "Instance is invalid.");
return false;
}
- return addPeer(instance, inferencePeer.getNativeInstance());
+ if (addPeer(instance, inferencePeer.getNativeInstance()) == true) {
+ // NOTE:
+ // Hold the peer instance until release them from the this.
+ peerList.add(inferencePeer);
+ return true;
+ }
+
+ return false;
}
public boolean loadModel(@NonNull String modelPath) {