switch to typed name components
Change-Id: I30da90c11bbe90d197ed4f05b14df83d80c77c3b
diff --git a/src/ca-module.cpp b/src/ca-module.cpp
index 300f0ed..0593610 100644
--- a/src/ca-module.cpp
+++ b/src/ca-module.cpp
@@ -124,12 +124,21 @@
const auto& cert = identity.getDefaultKey().getDefaultCertificate();
Block contentTLV = infotlv::encodeDataContent(m_config.caProfile, cert);
- Name infoPacketName( m_config.caProfile.caPrefix);
- infoPacketName.append("CA").append("INFO").appendVersion().appendSegment(0);
+ // set naming convention to be typed
+ auto convention = name::getConventionEncoding();
+ name::setConventionEncoding(name::Convention::TYPED);
+
+ Name infoPacketName(m_config.caProfile.caPrefix);
+ auto segmentComp = name::Component::fromSegment(0);
+ infoPacketName.append("CA").append("INFO").appendVersion().append(segmentComp);
m_profileData = std::make_unique<Data>(infoPacketName);
+ m_profileData->setFinalBlock(segmentComp);
m_profileData->setContent(contentTLV);
m_profileData->setFreshnessPeriod(DEFAULT_DATA_FRESHNESS_PERIOD);
m_keyChain.sign(*m_profileData, signingByIdentity( m_config.caProfile.caPrefix));
+
+ // set back the convention
+ name::setConventionEncoding(convention);
}
return *m_profileData;
}
diff --git a/src/requester.cpp b/src/requester.cpp
index f62ad4c..5ca6aaa 100644
--- a/src/requester.cpp
+++ b/src/requester.cpp
@@ -55,11 +55,19 @@
shared_ptr<Interest>
Requester::genCaProfileInterestFromDiscoveryResponse(const Data& reply)
{
+ // set naming convention to be typed
+ auto convention = name::getConventionEncoding();
+ name::setConventionEncoding(name::Convention::TYPED);
+
auto metaData = MetadataObject(reply);
auto interestName= metaData.getVersionedName();
interestName.appendSegment(0);
auto interest = std::make_shared<Interest>(interestName);
interest->setCanBePrefix(false);
+
+ // set back the convention
+ name::setConventionEncoding(convention);
+
return interest;
}
diff --git a/tests/unit-tests/bench.t.cpp b/tests/unit-tests/bench.t.cpp
index 44e5ac5..4877237 100644
--- a/tests/unit-tests/bench.t.cpp
+++ b/tests/unit-tests/bench.t.cpp
@@ -32,6 +32,8 @@
BOOST_AUTO_TEST_CASE(PacketSize0)
{
+ name::setConventionEncoding(name::Convention::TYPED);
+
auto identity = addIdentity(Name("/ndn"));
auto key = identity.getDefaultKey();
auto cert = key.getDefaultCertificate();
diff --git a/tests/unit-tests/ca-module.t.cpp b/tests/unit-tests/ca-module.t.cpp
index d5c24cb..ed4f8f3 100644
--- a/tests/unit-tests/ca-module.t.cpp
+++ b/tests/unit-tests/ca-module.t.cpp
@@ -47,6 +47,8 @@
BOOST_AUTO_TEST_CASE(HandleProfileFetching)
{
+ name::setConventionEncoding(name::Convention::TYPED);
+
auto identity = addIdentity(Name("/ndn"));
auto key = identity.getDefaultKey();
auto cert = key.getDefaultCertificate();