Upgrade the underlying NFD and ndn-cxx to version 0.6.0
Compilation is currently broken and is fixed in the following commit
Change-Id: Ic0dba06a9afd66a810172d4a512f35f6df6b25a2
Refs: #4306
diff --git a/tests/unit-tests/ndn-cxx/face.t.cpp b/tests/unit-tests/ndn-cxx/face.t.cpp
index 324043d..67f3333 100644
--- a/tests/unit-tests/ndn-cxx/face.t.cpp
+++ b/tests/unit-tests/ndn-cxx/face.t.cpp
@@ -109,11 +109,13 @@
class SingleInterest : public BaseTesterApp
{
public:
- SingleInterest(const Name& name, const std::function<void(const Data&)>& onData, const VoidCallback& onTimeout)
+ SingleInterest(const Name& name, const std::function<void(const Data&)>& onData,
+ const VoidCallback& onNack, const VoidCallback& onTimeout)
{
- m_face.expressInterest(name, std::bind([onData] (const Data& data) {
+ m_face.expressInterest(Interest(name), std::bind([onData] (const Data& data) {
onData(data);
}, _2),
+ std::bind(onNack),
std::bind(onTimeout));
}
};
@@ -128,6 +130,9 @@
BOOST_CHECK_LE(Simulator::Now().ToDouble(Time::S), 1.01);
},
[] {
+ BOOST_ERROR("Unexpected NACK");
+ },
+ [] {
BOOST_ERROR("Unexpected timeout");
});
})
@@ -153,6 +158,9 @@
BOOST_CHECK_LE(Simulator::Now().ToDouble(Time::S), 2.0);
},
[] {
+ BOOST_ERROR("Unexpected NACK");
+ },
+ [] {
BOOST_ERROR("Unexpected timeout");
});
})
@@ -167,9 +175,12 @@
BOOST_AUTO_TEST_CASE(ExpressInterestTimeout)
{
FactoryCallbackApp::Install(getNode("A"), [this] () -> shared_ptr<void> {
- return make_shared<SingleInterest>("/test/prefix", [] (const Data&) {
+ return make_shared<SingleInterest>(Name("/test/prefix"), [] (const Data&) {
BOOST_ERROR("Unexpected data");
},
+ [] {
+ BOOST_ERROR("Unexpected NACK");
+ },
[this] {
BOOST_CHECK_GT(Simulator::Now().ToDouble(Time::S), 6.0);
this->hasFired = true;
@@ -188,31 +199,6 @@
BOOST_CHECK(hasFired);
}
-// Expected failure until issue #3121 is resolved
-BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES(ExpressInterestWithRib, 2);
-BOOST_AUTO_TEST_CASE(ExpressInterestWithRib)
-{
- addApps({{"A", "ns3::ndn::Producer", {{"Prefix", "/"}}, "0s", "100s"}});
-
- // Retrieve data from remote
- FactoryCallbackApp::Install(getNode("A"), [this] () -> shared_ptr<void> {
- return make_shared<SingleInterest>("/test/prefix", [this] (const Data& data) {
- BOOST_CHECK_EQUAL(data.getName(), "/test/prefix");
- this->hasFired = true;
- BOOST_CHECK_LE(Simulator::Now().ToDouble(Time::S), 2.0);
- },
- [] {
- BOOST_ERROR("Unexpected timeout");
- });
- })
- .Start(Seconds(1.01));
-
- Simulator::Stop(Seconds(20));
- Simulator::Run();
-
- BOOST_CHECK(hasFired);
-}
-
/////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////
@@ -220,24 +206,27 @@
class MultipleInterest : public BaseTesterApp
{
public:
- MultipleInterest(const Name& name, const NameCallback& onData, const VoidCallback& onTimeout)
+ MultipleInterest(const Name& name, const NameCallback& onData, const VoidCallback& onTimeout,
+ const VoidCallback& onNack)
: m_scheduler(m_face.getIoService())
, m_event(m_scheduler)
{
- expressNextInterest(name, 0, onData, onTimeout);
+ expressNextInterest(name, 0, onData, onTimeout, onNack);
}
private:
void
- expressNextInterest(const Name& name, uint32_t seqNo, const NameCallback& onData, const VoidCallback& onTimeout)
+ expressNextInterest(const Name& name, uint32_t seqNo, const NameCallback& onData,
+ const VoidCallback& onTimeout, const VoidCallback& onNack)
{
- m_face.expressInterest(Name(name).appendSegment(seqNo), std::bind([=] (const Data& data) {
+ m_face.expressInterest(Interest(Name(name).appendSegment(seqNo)), std::bind([=] (const Data& data) {
onData(data.getName());
m_event = m_scheduler.scheduleEvent(time::seconds(1),
std::bind(&MultipleInterest::expressNextInterest, this,
- name, seqNo + 1, onData, onTimeout));
+ name, seqNo + 1, onData, onTimeout, onNack));
}, _2),
+ std::bind(onNack),
std::bind(onTimeout));
}
@@ -260,6 +249,9 @@
},
[] {
BOOST_ERROR("Unexpected timeout");
+ },
+ [] {
+ BOOST_ERROR("Unexpected NACK");
});
})
.Start(Seconds(1.01));
@@ -275,12 +267,15 @@
public:
SingleInterestWithFaceShutdown()
{
- m_face.expressInterest(Name("/interest/to/timeout"),
+ m_face.expressInterest(Interest(Name("/interest/to/timeout")),
std::bind([] {
BOOST_ERROR("Unexpected response");
}),
std::bind([this] {
m_face.shutdown();
+ }),
+ std::bind([this] {
+ m_face.shutdown();
}));
}
};
@@ -288,7 +283,6 @@
BOOST_AUTO_TEST_CASE(FaceShutdownFromTimeoutCallback)
{
// This test case to check if Face.shutdown from an onTimeout callback doesn't cause segfaults
-
FactoryCallbackApp::Install(getNode("A"), [this] () -> shared_ptr<void> {
return make_shared<SingleInterestWithFaceShutdown>();
})