jni: Upgrade NFD/ndn-cxx to version 0.6.5
Change-Id: If390a5bd4df99e36d84c04d6c93c720d7b184d73
diff --git a/app/build.gradle b/app/build.gradle
index dadd233..3b23efb 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -9,8 +9,8 @@
applicationId "net.named_data.nfd"
minSdkVersion 23
targetSdkVersion 26
- versionCode 4009
- versionName "0.6.2-1 (NFD 0.6.2-11-gd657d53)"
+ versionCode 4010
+ versionName "0.6.5-1 (NFD 0.6.5)"
multiDexEnabled true
}
compileOptions {
@@ -148,14 +148,14 @@
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
- implementation 'com.android.support:appcompat-v7:28.0.0-alpha3'
- implementation 'com.android.support:support-v4:28.0.0-alpha3'
+ implementation 'com.android.support:appcompat-v7:28.0.0'
+ implementation 'com.android.support:support-v4:28.0.0'
implementation 'com.android.volley:volley:1.1.1'
implementation('net.named-data.jndn-extra:jndn-management:1.2.0') {
exclude group: 'net.named-data', module: 'jndn'
}
- implementation('net.named-data:jndn-android:0.17') {
+ implementation('net.named-data:jndn-android:0.20') {
exclude group: 'org.xerial'
exclude group: 'com.google.android'
}
diff --git a/app/src/main/java/net/named_data/nfd/PingClient.java b/app/src/main/java/net/named_data/nfd/PingClient.java
index 70abdfc..bdeb046 100644
--- a/app/src/main/java/net/named_data/nfd/PingClient.java
+++ b/app/src/main/java/net/named_data/nfd/PingClient.java
@@ -1,6 +1,6 @@
/* -*- Mode:jde; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
/**
- * Copyright (c) 2015-2016 Regents of the University of California
+ * Copyright (c) 2015-2019 Regents of the University of California
*
* This file is part of NFD (Named Data Networking Forwarding Daemon) Android.
* See AUTHORS.md for complete list of NFD Android authors and contributors.
@@ -187,7 +187,12 @@
private void processEvents() {
try {
if (m_isRunning.get()) {
- m_face.processEvents();
+ try {
+ m_face.processEvents();
+ }
+ catch (EncodingException e) {
+ G.Log("Encoding error: " + e.getMessage());
+ }
m_handler.postDelayed(new Runnable() {
@Override
public void run()
@@ -203,9 +208,6 @@
catch (IOException e) {
G.Log("Face error: " + e.getMessage());
}
- catch (EncodingException e) {
- G.Log("Encoding error: " + e.getMessage());
- }
}
private void terminate() {
diff --git a/app/src/main/java/net/named_data/nfd/service/NfdService.java b/app/src/main/java/net/named_data/nfd/service/NfdService.java
index 5b85a6e..92196f6 100644
--- a/app/src/main/java/net/named_data/nfd/service/NfdService.java
+++ b/app/src/main/java/net/named_data/nfd/service/NfdService.java
@@ -1,6 +1,6 @@
/* -*- Mode:jde; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
/**
- * Copyright (c) 2015-2018 Regents of the University of California
+ * Copyright (c) 2015-2019 Regents of the University of California
* <p>
* This file is part of NFD (Named Data Networking Forwarding Daemon) Android.
* See AUTHORS.md for complete list of NFD Android authors and contributors.
@@ -114,9 +114,6 @@
public native static boolean
isNfdRunning();
- public native static List<String>
- getNfdLogModules();
-
/**
* Message to start NFD Service
*/
@@ -216,12 +213,6 @@
startNfd(params);
- // Example how to retrieve all available NFD log modules
- List<String> modules = getNfdLogModules();
- for (String module : modules) {
- G.Log(module);
- }
-
// TODO: Reload NFD and NRD in memory structures (if any)
// Keep Service alive; In event when service is started
diff --git a/app/src/main/jni/Android.mk b/app/src/main/jni/Android.mk
index 9310d31..6b99cba 100644
--- a/app/src/main/jni/Android.mk
+++ b/app/src/main/jni/Android.mk
@@ -9,4 +9,4 @@
LOCAL_CFLAGS := -DBOOST_LOG_DYN_LINK=1
include $(BUILD_SHARED_LIBRARY)
-$(call import-module,../packages/nfd/0.6.2-11-gd657d53)
+$(call import-module,../packages/nfd/0.6.5)
diff --git a/app/src/main/jni/nfd-wrapper.cpp b/app/src/main/jni/nfd-wrapper.cpp
index 918efce..64c16f1 100644
--- a/app/src/main/jni/nfd-wrapper.cpp
+++ b/app/src/main/jni/nfd-wrapper.cpp
@@ -1,6 +1,6 @@
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
/**
- * Copyright (c) 2015-2018 Regents of the University of California
+ * Copyright (c) 2015-2019 Regents of the University of California
*
* This file is part of NFD (Named Data Networking Forwarding Daemon) Android.
* See AUTHORS.md for complete list of NFD Android authors and contributors.
@@ -70,6 +70,7 @@
/localhost/nfd /localhost/nfd/strategy/best-route
/ndn/broadcast /localhost/nfd/strategy/multicast
/ndn/multicast /localhost/nfd/strategy/multicast
+ /sl /localhost/nfd/strategy/self-learning
}
}
face_system
@@ -104,40 +105,47 @@
type any
}
}
+ ; localhop_security
+ ; {
+ ; trust-anchor
+ ; {
+ ; type any
+ ; }
+ ; }
auto_prefix_propagate
{
refresh_interval 300
}
}
- )CONF";
+ )CONF";
std::istringstream input(initialConfig);
boost::property_tree::read_info(input, m_config);
- std::unique_lock<std::mutex> lock(m_pointerMutex);
m_nfd.reset(new Nfd(m_config, m_keyChain));
- m_nrd.reset(new rib::Service(m_config, m_keyChain));
+ m_ribService.reset(new rib::Service(m_config, m_keyChain));
m_nfd->initialize();
- m_nrd->initialize();
- }
-
- ~Runner()
- {
- stop();
- m_io->reset();
}
void
- start()
+ run()
{
{
std::unique_lock<std::mutex> lock(m_pointerMutex);
m_io = &getGlobalIoService();
}
+ setMainIoService(m_io);
+ setRibIoService(m_io);
+
m_io->run();
m_io->reset();
+
+ m_ribService.reset();
+ m_nfd.reset();
+
+ m_io = nullptr;
}
void
@@ -145,19 +153,17 @@
{
std::unique_lock<std::mutex> lock(m_pointerMutex);
- m_io->post([this] {
- m_io->stop();
- this->m_nrd.reset();
- this->m_nfd.reset();
- });
+ if (m_io != nullptr) {
+ m_io->stop();
+ }
}
private:
std::mutex m_pointerMutex;
boost::asio::io_service* m_io;
ndn::KeyChain m_keyChain;
- unique_ptr<Nfd> m_nfd; // will use globalIoService
- unique_ptr<rib::Service> m_nrd; // will use globalIoService
+ unique_ptr<Nfd> m_nfd;
+ unique_ptr<rib::Service> m_ribService;
nfd::ConfigSection m_config;
};
@@ -227,7 +233,7 @@
NFD_LOG_INFO("Starting NFD...");
try {
nfd::g_runner.reset(new nfd::Runner());
- nfd::g_runner->start();
+ nfd::g_runner->run();
}
catch (const std::exception& e) {
NFD_LOG_FATAL(e.what());
@@ -260,22 +266,5 @@
JNIEXPORT jboolean JNICALL
Java_net_named_1data_nfd_service_NfdService_isNfdRunning(JNIEnv*, jclass)
{
- return nfd::g_runner.get() != nullptr;
-}
-
-JNIEXPORT jobject JNICALL
-Java_net_named_1data_nfd_service_NfdService_getNfdLogModules(JNIEnv* env, jclass)
-{
- jclass jcLinkedList = env->FindClass("java/util/LinkedList");
- jmethodID jcLinkedListConstructor = env->GetMethodID(jcLinkedList, "<init>", "()V");
- jmethodID jcLinkedListAdd = env->GetMethodID(jcLinkedList, "add", "(Ljava/lang/Object;)Z");
-
- jobject jModules = env->NewObject(jcLinkedList, jcLinkedListConstructor);
-
- for (const auto& module : ndn::util::Logging::getLoggerNames()) {
- jstring jModule = env->NewStringUTF(module.c_str());
- env->CallBooleanMethod(jModules, jcLinkedListAdd, jModule);
- }
-
- return jModules;
+ return nfd::g_runner.get() != nullptr;
}
diff --git a/app/src/main/jni/nfd-wrapper.hpp b/app/src/main/jni/nfd-wrapper.hpp
index 69a0ab5..c3e11dc 100644
--- a/app/src/main/jni/nfd-wrapper.hpp
+++ b/app/src/main/jni/nfd-wrapper.hpp
@@ -1,6 +1,6 @@
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
/**
- * Copyright (c) 2015-2016 Regents of the University of California
+ * Copyright (c) 2015-2019 Regents of the University of California
*
* This file is part of NFD (Named Data Networking Forwarding Daemon) Android.
* See AUTHORS.md for complete list of NFD Android authors and contributors.
@@ -51,14 +51,6 @@
JNIEXPORT jboolean JNICALL
Java_net_named_1data_nfd_service_NfdService_isNfdRunning(JNIEnv*, jclass);
-/*
- * Class: net_named_data_nfd_service_NfdService
- * Method: getNfdLogModules
- * Signature: ()Ljava/util/List;
- */
-JNIEXPORT jobject JNICALL
-Java_net_named_1data_nfd_service_NfdService_getNfdLogModules(JNIEnv*, jclass);
-
#ifdef __cplusplus
}
#endif
diff --git a/build.gradle b/build.gradle
index 3904604..8c7755a 100644
--- a/build.gradle
+++ b/build.gradle
@@ -9,7 +9,7 @@
}
}
dependencies {
- classpath 'com.android.tools.build:gradle:3.1.3'
+ classpath 'com.android.tools.build:gradle:3.3.1'
// classpath 'net.named-data.playground:play-publisher:1.2.0-2-SNAPSHOT'
classpath 'com.github.triplet.gradle:play-publisher:1.2.0'
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index b249a5c..38aa7b8 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
-#Sun Nov 12 15:16:12 EST 2017
+#Sun Feb 10 12:14:11 EST 2019
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-4.8.1-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.1-all.zip