Implementing first approximation of FIB
Solving issue with CcnxNameComponents Accessor/Checker/Value
diff --git a/apps/ccnx-interest-sender.cc b/apps/ccnx-interest-sender.cc
index 239d7cb..c3ecc59 100644
--- a/apps/ccnx-interest-sender.cc
+++ b/apps/ccnx-interest-sender.cc
@@ -41,14 +41,10 @@
PointerValue (CreateObject<CcnxLocalFace> ()),
MakePointerAccessor (&CcnxInterestSender::m_face),
MakePointerChecker<CcnxLocalFace> ())
- /*.AddAttribute ("NameComponents","CcnxName of the Interest (use CcnxNameComponents)",
- CcnxNameComponentsValue(CcnxNameComponents()),
- MakeCcnxNameComponentsAccessor(&CcnxInterestSender::m_interestName),
- MakeCcnxNameComponentsChecker())*/
- .AddAttribute ("InterestName","CcnxName of the Interest (use CcnxNameComponents)",
- PointerValue (CreateObject<CcnxNameComponents> ()),
- MakePointerAccessor (&CcnxInterestSender::m_interestName),
- MakePointerChecker<CcnxNameComponents> ())
+ .AddAttribute ("NameComponents","CcnxName of the Interest (use CcnxNameComponents)",
+ CcnxNameComponentsValue (CcnxNameComponents (/* root */)),
+ MakeCcnxNameComponentsAccessor (&CcnxInterestSender::m_interestName),
+ MakeCcnxNameComponentsChecker ())
.AddAttribute ("LifeTime", "LifeTime fo interest packet",
TimeValue (Seconds (4.0)),
MakeTimeAccessor (&CcnxInterestSender::m_interestLifeTime),
@@ -65,14 +61,10 @@
BooleanValue(false),
MakeBooleanAccessor(&CcnxInterestSender::m_childSelector),
MakeBooleanChecker())
- /*.AddAttribute ("Exclude","only simple name matching is supported (use CcnxNameComponents)",
- CcnxNameComponentsValue(CcnxNameComponents()),
- MakeCcnxNameComponentsAccessor(&CcnxInterestSender::m_exclude),
- MakeCcnxNameComponentsChecker())*/
- .AddAttribute ("Exclude", "only simple name matching is supported (use CcnxNameComponents)",
- PointerValue (CreateObject<CcnxNameComponents> ()),
- MakePointerAccessor (&CcnxInterestSender::m_exclude),
- MakePointerChecker<CcnxNameComponents> ())
+ .AddAttribute ("Exclude","only simple name matching is supported (use CcnxNameComponents)",
+ CcnxNameComponentsValue (CcnxNameComponents(/* root */)),
+ MakeCcnxNameComponentsAccessor (&CcnxInterestSender::m_exclude),
+ MakeCcnxNameComponentsChecker ())
.AddAttribute ("Initial Nonce", "If 0 then nonce is not used",
UintegerValue(1),
MakeUintegerAccessor(&CcnxInterestSender::m_initialNonce),
@@ -142,17 +134,17 @@
CcnxInterestSender::SendPacket ()
{
NS_LOG_FUNCTION_NOARGS ();
- NS_LOG_INFO ("Sending Interest at " << Simulator::Now ());
+ // NS_LOG_INFO ("Sending Interest at " << Simulator::Now ());
uint32_t randomNonce = UniformVariable().GetInteger(1, std::numeric_limits<uint32_t>::max ());
CcnxInterestHeader interestHeader;
interestHeader.SetNonce(randomNonce);
//const Ptr<CcnxNameComponents> name = Create<CcnxNameComponents>(m_interestName);
- interestHeader.SetName(m_interestName);
+ interestHeader.SetName(Create<CcnxNameComponents> (m_interestName)); //making a copy of name
interestHeader.SetInterestLifetime(m_interestLifeTime);
interestHeader.SetChildSelector(m_childSelector);
//const Ptr<CcnxNameComponents> exclude = Create<CcnxNameComponents>(m_exclude);
- interestHeader.SetExclude(m_exclude);
+ interestHeader.SetExclude(Create<CcnxNameComponents> (m_exclude));
interestHeader.SetMaxSuffixComponents(m_maxSuffixComponents);
interestHeader.SetMinSuffixComponents(m_minSuffixComponents);
diff --git a/apps/ccnx-interest-sender.h b/apps/ccnx-interest-sender.h
index 865841a..256edd8 100644
--- a/apps/ccnx-interest-sender.h
+++ b/apps/ccnx-interest-sender.h
@@ -59,12 +59,13 @@
//Time m_onTime;
Time m_offTime;
- Ptr<CcnxNameComponents> m_interestName;
+ CcnxNameComponents m_interestName;
+
Time m_interestLifeTime;
int32_t m_minSuffixComponents;
int32_t m_maxSuffixComponents;
bool m_childSelector;
- Ptr<CcnxNameComponents> m_exclude;
+ CcnxNameComponents m_exclude;
uint32_t m_initialNonce;
//EventId m_startStopEvent; // Event id for next start or stop event