poke: don't respond if the Interest cannot be satisfied

Change-Id: I616e974ff041a4a2c9fd738e98c83c28a21a47de
This commit is contained in:
Davide Pesavento committed 2019-07-26 13:30:16 -04:00
1 parent b3ae634086
commit c5243b40f4
2 files changed
+29 -7

No files matched your search

+21 -4
View File
@@ -82,7 +82,6 @@ BOOST_AUTO_TEST_CASE(Basic)
face.receive(*makeInterest("/poke/test"));
this->advanceClocks(io, 1_ms, 10);
io.run();
BOOST_CHECK(poke->getResult() == NdnPoke::Result::DATA_SENT);
BOOST_REQUIRE_EQUAL(face.sentData.size(), 1);
@@ -98,6 +97,27 @@ BOOST_AUTO_TEST_CASE(Basic)
BOOST_CHECK_EQUAL(face.sentInterests.back().getName().getPrefix(4), "/localhost/nfd/rib/unregister");
}
BOOST_AUTO_TEST_CASE(NoMatch)
{
initialize();
poke->start();
this->advanceClocks(io, 1_ms, 10);
face.receive(*makeInterest("/poke/test/foo"));
this->advanceClocks(io, 1_ms, 10);
BOOST_CHECK(poke->getResult() == NdnPoke::Result::UNKNOWN);
BOOST_CHECK_EQUAL(face.sentData.size(), 0);
face.receive(*makeInterest("/poke/test"));
this->advanceClocks(io, 1_ms, 10);
BOOST_CHECK(poke->getResult() == NdnPoke::Result::DATA_SENT);
BOOST_REQUIRE_EQUAL(face.sentData.size(), 1);
BOOST_CHECK_EQUAL(face.sentData.back().getName(), "/poke/test");
}
BOOST_AUTO_TEST_CASE(FreshnessPeriod)
{
auto options = makeDefaultOptions();
@@ -109,7 +129,6 @@ BOOST_AUTO_TEST_CASE(FreshnessPeriod)
face.receive(*makeInterest("/poke/test"));
this->advanceClocks(io, 1_ms, 10);
io.run();
BOOST_CHECK(poke->getResult() == NdnPoke::Result::DATA_SENT);
BOOST_REQUIRE_EQUAL(face.sentData.size(), 1);
@@ -131,7 +150,6 @@ BOOST_AUTO_TEST_CASE(FinalBlockId)
face.receive(*makeInterest(options.name));
this->advanceClocks(io, 1_ms, 10);
io.run();
BOOST_CHECK(poke->getResult() == NdnPoke::Result::DATA_SENT);
BOOST_REQUIRE_EQUAL(face.sentData.size(), 1);
@@ -153,7 +171,6 @@ BOOST_AUTO_TEST_CASE(DigestSha256)
face.receive(*makeInterest("/poke/test"));
this->advanceClocks(io, 1_ms, 10);
io.run();
BOOST_CHECK(poke->getResult() == NdnPoke::Result::DATA_SENT);
BOOST_REQUIRE_EQUAL(face.sentData.size(), 1);
+8 -3
View File
@@ -94,9 +94,14 @@ NdnPoke::onInterest(const Interest& interest, const Data& data)
std::cerr << "INTEREST: " << interest << std::endl;
}
m_timeoutEvent.cancel();
m_registeredPrefix.cancel();
sendData(data);
if (interest.matchesData(data)) {
m_timeoutEvent.cancel();
m_registeredPrefix.cancel();
sendData(data);
}
else if (m_options.isVerbose) {
std::cerr << "Interest cannot be satisfied" << std::endl;
}
}
void