summaryrefslogtreecommitdiff
path: root/akono/src/main/java/akono
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2019-12-06 02:00:34 +0100
committerFlorian Dold <florian.dold@gmail.com>2019-12-06 02:00:34 +0100
commitcb3eb410fbf79cb2bb9ddb969b771259ea9acf6e (patch)
tree0fcc0e7f3703735330b9432f3df1fa2f2b33f22a /akono/src/main/java/akono
parent307baaf5eb716f8ea327374c09cb328305e29c51 (diff)
downloadakono-cb3eb410fbf79cb2bb9ddb969b771259ea9acf6e.tar.gz
akono-cb3eb410fbf79cb2bb9ddb969b771259ea9acf6e.tar.bz2
akono-cb3eb410fbf79cb2bb9ddb969b771259ea9acf6e.zip
simplifications / threading
Diffstat (limited to 'akono/src/main/java/akono')
-rw-r--r--akono/src/main/java/akono/AkonoJni.kt58
1 files changed, 4 insertions, 54 deletions
diff --git a/akono/src/main/java/akono/AkonoJni.kt b/akono/src/main/java/akono/AkonoJni.kt
index 0ba31ee8..6aecb3af 100644
--- a/akono/src/main/java/akono/AkonoJni.kt
+++ b/akono/src/main/java/akono/AkonoJni.kt
@@ -13,10 +13,10 @@ typealias AkonoNativePointer = ByteBuffer
data class ModuleResult(val path: String, val contents: String)
+private val TAG = "AkonoJni"
+
class AkonoJni(vararg nodeArgv: String) {
- private var getDataHandler: GetDataHandler? = null
private var messageHandler: MessageHandler? = null
- private var loadModuleHandler: LoadModuleHandler? = null
private val initializedLatch = CountDownLatch(1)
private val workQueue = LinkedBlockingDeque<() -> Unit>()
@@ -53,49 +53,6 @@ class AkonoJni(vararg nodeArgv: String) {
messageHandler?.handleMessage(payload)
}
- /**
- * Called by node/v8 from its thread.
- */
- @Suppress("unused")
- private fun internalOnModuleLoad(loadInfoStr: String): String {
- try {
- val loadInfo = JSONObject(loadInfoStr)
- val request: String = loadInfo.getString("request")
- Log.i("myapp", "request is $request")
- val paths = ArrayList<String>()
- val pathsJson = loadInfo.getJSONArray("paths")
- for (i in 0 until pathsJson.length()) {
- val path = pathsJson.getString(i)
- if (path.startsWith("/vmodroot/")) {
- paths.add(path)
- }
- }
- paths.add("/vmodroot")
- val handler = loadModuleHandler
- if (handler != null) {
- val modResult = handler.loadModule(request, paths.toTypedArray()) ?: return "null"
- val result = JSONObject()
- result.put("path", modResult.path)
- result.put("content", modResult.contents)
- return result.toString()
- } else {
- Log.w("myapp", "no module load handler registered")
- return "null"
- }
- } catch (e: Exception) {
- Log.e("myapp", "exception during internalOnModuleLoad: $e")
- return "null"
- }
- }
-
- /**
- * Called by node/v8 from its thread.
- */
- @Suppress("unused")
- private fun internalOnGetData(what: String): String? {
- val data = getDataHandler?.handleGetData(what) ?: return null
- return Base64.encodeToString(data, Base64.NO_WRAP)
- }
fun notifyNative() {
initializedLatch.await()
@@ -142,7 +99,7 @@ class AkonoJni(vararg nodeArgv: String) {
*
*/
fun waitStopped(): Unit {
- Log.i("myapp", "waiting for stop")
+ Log.i(TAG, "waiting for stop")
scheduleNodeThread {
stopped = true
}
@@ -160,13 +117,6 @@ class AkonoJni(vararg nodeArgv: String) {
this.messageHandler = handler
}
- fun setLoadModuleHandler(handler: LoadModuleHandler) {
- this.loadModuleHandler = handler
- }
-
- fun setGetDataHandler(handler: GetDataHandler) {
- this.getDataHandler = handler
- }
@Override
protected fun finalize() {
@@ -208,4 +158,4 @@ class AkonoJni(vararg nodeArgv: String) {
interface GetDataHandler {
fun handleGetData(what: String): ByteArray?
}
-} \ No newline at end of file
+}