First step of refactoring code (ccnx prefix => ndn prefix)
diff --git a/apps/ccnx-app.cc b/apps/ccnx-app.cc
deleted file mode 100644
index 59da17c..0000000
--- a/apps/ccnx-app.cc
+++ /dev/null
@@ -1,164 +0,0 @@
-/* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
-/*
- * Copyright (c) 2011 University of California, Los Angeles
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation;
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * Author: Alexander Afanasyev <alexander.afanasyev@ucla.edu>
- */
-
-#include "ccnx-app.h"
-#include "ns3/log.h"
-#include "ns3/assert.h"
-#include "ns3/packet.h"
-
-#include "ns3/ccnx-interest-header.h"
-#include "ns3/ccnx-content-object-header.h"
-#include "ns3/ccnx.h"
-#include "ns3/ccnx-fib.h"
-#include "ns3/ccnx-app-face.h"
-#include "ns3/ccnx-forwarding-strategy.h"
-
-NS_LOG_COMPONENT_DEFINE ("CcnxApp");
-
-namespace ns3
-{
-
-NS_OBJECT_ENSURE_REGISTERED (CcnxApp);
-
-TypeId
-CcnxApp::GetTypeId (void)
-{
- static TypeId tid = TypeId ("ns3::CcnxApp")
- .SetGroupName ("Ccnx")
- .SetParent<Application> ()
- .AddConstructor<CcnxApp> ()
-
- .AddTraceSource ("ReceivedInterests", "ReceivedInterests",
- MakeTraceSourceAccessor (&CcnxApp::m_receivedInterests))
-
- .AddTraceSource ("ReceivedNacks", "ReceivedNacks",
- MakeTraceSourceAccessor (&CcnxApp::m_receivedNacks))
-
- .AddTraceSource ("ReceivedContentObjects", "ReceivedContentObjects",
- MakeTraceSourceAccessor (&CcnxApp::m_receivedContentObjects))
-
- .AddTraceSource ("TransmittedInterests", "TransmittedInterests",
- MakeTraceSourceAccessor (&CcnxApp::m_transmittedInterests))
-
- .AddTraceSource ("TransmittedContentObjects", "TransmittedContentObjects",
- MakeTraceSourceAccessor (&CcnxApp::m_transmittedContentObjects))
- ;
- return tid;
-}
-
-CcnxApp::CcnxApp ()
- : m_protocolHandler (0)
- , m_active (false)
- , m_face (0)
-{
-}
-
-CcnxApp::~CcnxApp ()
-{
-}
-
-void
-CcnxApp::DoDispose (void)
-{
- NS_LOG_FUNCTION_NOARGS ();
-
- // Unfortunately, this causes SEGFAULT
- // The best reason I see is that apps are freed after ccnx stack is removed
- // StopApplication ();
- Application::DoDispose ();
-}
-
-void
-CcnxApp::RegisterProtocolHandler (ProtocolHandler handler)
-{
- m_protocolHandler = handler;
-}
-
-void
-CcnxApp::OnInterest (const Ptr<const CcnxInterestHeader> &interest, Ptr<Packet> packet)
-{
- NS_LOG_FUNCTION (this << interest);
- m_receivedInterests (interest, this, m_face);
-}
-
-void
-CcnxApp::OnNack (const Ptr<const CcnxInterestHeader> &interest, Ptr<Packet> packet)
-{
- NS_LOG_FUNCTION (this << interest);
- m_receivedNacks (interest, this, m_face);
-}
-
-void
-CcnxApp::OnContentObject (const Ptr<const CcnxContentObjectHeader> &contentObject,
- Ptr<Packet> payload)
-{
- NS_LOG_FUNCTION (this << contentObject << payload);
- m_receivedContentObjects (contentObject, payload, this, m_face);
-}
-
-// Application Methods
-void
-CcnxApp::StartApplication () // Called at time specified by Start
-{
- NS_LOG_FUNCTION_NOARGS ();
-
- NS_ASSERT (m_active != true);
- m_active = true;
-
- NS_ASSERT_MSG (GetNode ()->GetObject<Ccnx> () != 0,
- "Ccnx stack should be installed on the node " << GetNode ());
-
- // step 1. Create a face
- m_face = CreateObject<CcnxAppFace> (/*Ptr<CcnxApp> (this)*/this);
-
- // step 2. Add face to the CCNx stack
- GetNode ()->GetObject<Ccnx> ()->AddFace (m_face);
-
- // step 3. Enable face
- m_face->SetUp (true);
-}
-
-void
-CcnxApp::StopApplication () // Called at time specified by Stop
-{
- NS_LOG_FUNCTION_NOARGS ();
-
- if (!m_active) return; //don't assert here, just return
-
- NS_ASSERT (GetNode ()->GetObject<Ccnx> () != 0);
-
- m_active = false;
-
- // step 1. Disable face
- m_face->SetUp (false);
-
- // step 2. Remove face from CCNx stack
- GetNode ()->GetObject<Ccnx> ()->RemoveFace (m_face);
- GetNode ()->GetObject<CcnxFib> ()->RemoveFromAll (m_face);
- GetNode ()->GetObject<CcnxForwardingStrategy> ()->RemoveFace (m_face); // notify that face is removed
-
- // step 3. Destroy face
- NS_ASSERT_MSG (m_face->GetReferenceCount ()==1,
- "At this point, nobody else should have referenced this face, but we have "
- << m_face->GetReferenceCount () << " references");
- m_face = 0;
-}
-
-}
diff --git a/apps/ndn-app.cc b/apps/ndn-app.cc
new file mode 100644
index 0000000..54ea5c6
--- /dev/null
+++ b/apps/ndn-app.cc
@@ -0,0 +1,164 @@
+/* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
+/*
+ * Copyright (c) 2011 University of California, Los Angeles
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation;
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ * Author: Alexander Afanasyev <alexander.afanasyev@ucla.edu>
+ */
+
+#include "ndn-app.h"
+#include "ns3/log.h"
+#include "ns3/assert.h"
+#include "ns3/packet.h"
+
+#include "ns3/ndn-interest-header.h"
+#include "ns3/ndn-content-object-header.h"
+#include "ns3/ndn.h"
+#include "ns3/ndn-fib.h"
+#include "ns3/ndn-app-face.h"
+#include "ns3/ndn-forwarding-strategy.h"
+
+NS_LOG_COMPONENT_DEFINE ("NdnApp");
+
+namespace ns3
+{
+
+NS_OBJECT_ENSURE_REGISTERED (NdnApp);
+
+TypeId
+NdnApp::GetTypeId (void)
+{
+ static TypeId tid = TypeId ("ns3::NdnApp")
+ .SetGroupName ("Ndn")
+ .SetParent<Application> ()
+ .AddConstructor<NdnApp> ()
+
+ .AddTraceSource ("ReceivedInterests", "ReceivedInterests",
+ MakeTraceSourceAccessor (&NdnApp::m_receivedInterests))
+
+ .AddTraceSource ("ReceivedNacks", "ReceivedNacks",
+ MakeTraceSourceAccessor (&NdnApp::m_receivedNacks))
+
+ .AddTraceSource ("ReceivedContentObjects", "ReceivedContentObjects",
+ MakeTraceSourceAccessor (&NdnApp::m_receivedContentObjects))
+
+ .AddTraceSource ("TransmittedInterests", "TransmittedInterests",
+ MakeTraceSourceAccessor (&NdnApp::m_transmittedInterests))
+
+ .AddTraceSource ("TransmittedContentObjects", "TransmittedContentObjects",
+ MakeTraceSourceAccessor (&NdnApp::m_transmittedContentObjects))
+ ;
+ return tid;
+}
+
+NdnApp::NdnApp ()
+ : m_protocolHandler (0)
+ , m_active (false)
+ , m_face (0)
+{
+}
+
+NdnApp::~NdnApp ()
+{
+}
+
+void
+NdnApp::DoDispose (void)
+{
+ NS_LOG_FUNCTION_NOARGS ();
+
+ // Unfortunately, this causes SEGFAULT
+ // The best reason I see is that apps are freed after ndn stack is removed
+ // StopApplication ();
+ Application::DoDispose ();
+}
+
+void
+NdnApp::RegisterProtocolHandler (ProtocolHandler handler)
+{
+ m_protocolHandler = handler;
+}
+
+void
+NdnApp::OnInterest (const Ptr<const NdnInterestHeader> &interest, Ptr<Packet> packet)
+{
+ NS_LOG_FUNCTION (this << interest);
+ m_receivedInterests (interest, this, m_face);
+}
+
+void
+NdnApp::OnNack (const Ptr<const NdnInterestHeader> &interest, Ptr<Packet> packet)
+{
+ NS_LOG_FUNCTION (this << interest);
+ m_receivedNacks (interest, this, m_face);
+}
+
+void
+NdnApp::OnContentObject (const Ptr<const NdnContentObjectHeader> &contentObject,
+ Ptr<Packet> payload)
+{
+ NS_LOG_FUNCTION (this << contentObject << payload);
+ m_receivedContentObjects (contentObject, payload, this, m_face);
+}
+
+// Application Methods
+void
+NdnApp::StartApplication () // Called at time specified by Start
+{
+ NS_LOG_FUNCTION_NOARGS ();
+
+ NS_ASSERT (m_active != true);
+ m_active = true;
+
+ NS_ASSERT_MSG (GetNode ()->GetObject<Ndn> () != 0,
+ "Ndn stack should be installed on the node " << GetNode ());
+
+ // step 1. Create a face
+ m_face = CreateObject<NdnAppFace> (/*Ptr<NdnApp> (this)*/this);
+
+ // step 2. Add face to the Ndn stack
+ GetNode ()->GetObject<Ndn> ()->AddFace (m_face);
+
+ // step 3. Enable face
+ m_face->SetUp (true);
+}
+
+void
+NdnApp::StopApplication () // Called at time specified by Stop
+{
+ NS_LOG_FUNCTION_NOARGS ();
+
+ if (!m_active) return; //don't assert here, just return
+
+ NS_ASSERT (GetNode ()->GetObject<Ndn> () != 0);
+
+ m_active = false;
+
+ // step 1. Disable face
+ m_face->SetUp (false);
+
+ // step 2. Remove face from Ndn stack
+ GetNode ()->GetObject<Ndn> ()->RemoveFace (m_face);
+ GetNode ()->GetObject<NdnFib> ()->RemoveFromAll (m_face);
+ GetNode ()->GetObject<NdnForwardingStrategy> ()->RemoveFace (m_face); // notify that face is removed
+
+ // step 3. Destroy face
+ NS_ASSERT_MSG (m_face->GetReferenceCount ()==1,
+ "At this point, nobody else should have referenced this face, but we have "
+ << m_face->GetReferenceCount () << " references");
+ m_face = 0;
+}
+
+}
diff --git a/apps/ccnx-app.h b/apps/ndn-app.h
similarity index 62%
rename from apps/ccnx-app.h
rename to apps/ndn-app.h
index 56093f9..c152ff2 100644
--- a/apps/ccnx-app.h
+++ b/apps/ndn-app.h
@@ -18,8 +18,8 @@
* Author: Alexander Afanasyev <alexander.afanasyev@ucla.edu>
*/
-#ifndef CCNX_APP_H
-#define CCNX_APP_H
+#ifndef NDN_APP_H
+#define NDN_APP_H
#include "ns3/application.h"
#include "ns3/ptr.h"
@@ -30,21 +30,21 @@
{
class Packet;
-class CcnxInterestHeader;
-class CcnxContentObjectHeader;
-class CcnxFace;
+class NdnInterestHeader;
+class NdnContentObjectHeader;
+class NdnFace;
/**
- * @ingroup ccnx
- * @brief Base class that all CCNx applications should be derived from.
+ * @ingroup ndn
+ * @brief Base class that all Ndn applications should be derived from.
*
* The class implements virtual calls onInterest, onNack, and onContentObject
*/
-class CcnxApp: public Application
+class NdnApp: public Application
{
public:
/**
- * @brief A callback to pass packets to underlying CCNx protocol
+ * @brief A callback to pass packets to underlying Ndn protocol
*/
typedef Callback<bool, const Ptr<const Packet>&> ProtocolHandler;
@@ -53,8 +53,8 @@
/**
* @brief Default constructor
*/
- CcnxApp ();
- virtual ~CcnxApp ();
+ NdnApp ();
+ virtual ~NdnApp ();
/**
* @brief Register lower layer callback (to send interests from the application)
@@ -69,14 +69,14 @@
* may be useful to get packet tags
*/
virtual void
- OnInterest (const Ptr<const CcnxInterestHeader> &interest, Ptr<Packet> packet);
+ OnInterest (const Ptr<const NdnInterestHeader> &interest, Ptr<Packet> packet);
/**
* @brief Method that will be called every time new NACK arrives
* @param interest Interest header
*/
virtual void
- OnNack (const Ptr<const CcnxInterestHeader> &interest, Ptr<Packet> packet);
+ OnNack (const Ptr<const NdnInterestHeader> &interest, Ptr<Packet> packet);
/**
* @brief Method that will be called every time new ContentObject arrives
@@ -84,7 +84,7 @@
* @param payload payload (potentially virtual) of the ContentObject packet (may include packet tags of original packet)
*/
virtual void
- OnContentObject (const Ptr<const CcnxContentObjectHeader> &contentObject,
+ OnContentObject (const Ptr<const NdnContentObjectHeader> &contentObject,
Ptr<Packet> payload);
protected:
@@ -102,27 +102,27 @@
StopApplication (); ///< @brief Called at time specified by Stop
protected:
- ProtocolHandler m_protocolHandler; ///< @brief A callback to pass packets to underlying CCNx protocol
+ ProtocolHandler m_protocolHandler; ///< @brief A callback to pass packets to underlying Ndn protocol
bool m_active; ///< @brief Flag to indicate that application is active (set by StartApplication and StopApplication)
- Ptr<CcnxFace> m_face; ///< @brief automatically created application face through which application communicates
+ Ptr<NdnFace> m_face; ///< @brief automatically created application face through which application communicates
- TracedCallback<Ptr<const CcnxInterestHeader>,
- Ptr<CcnxApp>, Ptr<CcnxFace> > m_receivedInterests; ///< @brief App-level trace of received Interests
+ TracedCallback<Ptr<const NdnInterestHeader>,
+ Ptr<NdnApp>, Ptr<NdnFace> > m_receivedInterests; ///< @brief App-level trace of received Interests
- TracedCallback<Ptr<const CcnxInterestHeader>,
- Ptr<CcnxApp>, Ptr<CcnxFace> > m_receivedNacks; ///< @brief App-level trace of received NACKs
+ TracedCallback<Ptr<const NdnInterestHeader>,
+ Ptr<NdnApp>, Ptr<NdnFace> > m_receivedNacks; ///< @brief App-level trace of received NACKs
- TracedCallback<Ptr<const CcnxContentObjectHeader>, Ptr<const Packet>,
- Ptr<CcnxApp>, Ptr<CcnxFace> > m_receivedContentObjects; ///< @brief App-level trace of received Data
+ TracedCallback<Ptr<const NdnContentObjectHeader>, Ptr<const Packet>,
+ Ptr<NdnApp>, Ptr<NdnFace> > m_receivedContentObjects; ///< @brief App-level trace of received Data
- TracedCallback<Ptr<const CcnxInterestHeader>,
- Ptr<CcnxApp>, Ptr<CcnxFace> > m_transmittedInterests; ///< @brief App-level trace of transmitted Interests
+ TracedCallback<Ptr<const NdnInterestHeader>,
+ Ptr<NdnApp>, Ptr<NdnFace> > m_transmittedInterests; ///< @brief App-level trace of transmitted Interests
- TracedCallback<Ptr<const CcnxContentObjectHeader>, Ptr<const Packet>,
- Ptr<CcnxApp>, Ptr<CcnxFace> > m_transmittedContentObjects; ///< @brief App-level trace of transmitted Data
+ TracedCallback<Ptr<const NdnContentObjectHeader>, Ptr<const Packet>,
+ Ptr<NdnApp>, Ptr<NdnFace> > m_transmittedContentObjects; ///< @brief App-level trace of transmitted Data
};
} // namespace ns3
-#endif // CCNX_APP_H
+#endif // NDN_APP_H
diff --git a/apps/ccnx-consumer-batches.cc b/apps/ndn-consumer-batches.cc
similarity index 72%
rename from apps/ccnx-consumer-batches.cc
rename to apps/ndn-consumer-batches.cc
index 30bdb15..c7de149 100644
--- a/apps/ccnx-consumer-batches.cc
+++ b/apps/ndn-consumer-batches.cc
@@ -18,7 +18,7 @@
* Author: Alexander Afanasyev <alexander.afanasyev@ucla.edu>
*/
-#include "ccnx-consumer-batches.h"
+#include "ndn-consumer-batches.h"
#include "ns3/ptr.h"
#include "ns3/log.h"
#include "ns3/simulator.h"
@@ -29,47 +29,47 @@
#include "ns3/double.h"
#include "ns3/batches.h"
-NS_LOG_COMPONENT_DEFINE ("CcnxConsumerBatches");
+NS_LOG_COMPONENT_DEFINE ("NdnConsumerBatches");
namespace ns3
{
-NS_OBJECT_ENSURE_REGISTERED (CcnxConsumerBatches);
+NS_OBJECT_ENSURE_REGISTERED (NdnConsumerBatches);
TypeId
-CcnxConsumerBatches::GetTypeId (void)
+NdnConsumerBatches::GetTypeId (void)
{
- static TypeId tid = TypeId ("ns3::CcnxConsumerBatches")
- .SetGroupName ("Ccnx")
- .SetParent<CcnxConsumer> ()
- .AddConstructor<CcnxConsumerBatches> ()
+ static TypeId tid = TypeId ("ns3::NdnConsumerBatches")
+ .SetGroupName ("Ndn")
+ .SetParent<NdnConsumer> ()
+ .AddConstructor<NdnConsumerBatches> ()
.AddAttribute ("Batches", "Batches to schedule. Should be vector, containing pairs of time and amount",
// TypeId::ATTR_SET,
StringValue (""),
- MakeBatchesAccessor (&CcnxConsumerBatches::GetBatch, &CcnxConsumerBatches::SetBatch),
+ MakeBatchesAccessor (&NdnConsumerBatches::GetBatch, &NdnConsumerBatches::SetBatch),
MakeBatchesChecker ())
;
return tid;
}
-CcnxConsumerBatches::CcnxConsumerBatches ()
+NdnConsumerBatches::NdnConsumerBatches ()
{
}
void
-CcnxConsumerBatches::SetBatch (const Batches &batches)
+NdnConsumerBatches::SetBatch (const Batches &batches)
{
// std::cout << "Batches: " << batches << "\n";
for (Batches::const_iterator i = batches.begin (); i != batches.end (); i++)
{
- Simulator::Schedule (i->get<0> (), &CcnxConsumerBatches::AddBatch, this, i->get<1> ());
+ Simulator::Schedule (i->get<0> (), &NdnConsumerBatches::AddBatch, this, i->get<1> ());
}
}
void
-CcnxConsumerBatches::AddBatch (uint32_t amount)
+NdnConsumerBatches::AddBatch (uint32_t amount)
{
// std::cout << Simulator::Now () << " adding batch of " << amount << "\n";
m_seqMax += amount;
@@ -78,10 +78,10 @@
}
void
-CcnxConsumerBatches::ScheduleNextPacket ()
+NdnConsumerBatches::ScheduleNextPacket ()
{
if (!m_sendEvent.IsRunning ())
- m_sendEvent = Simulator::Schedule (Seconds (m_rtt->RetransmitTimeout ().ToDouble (Time::S) * 0.1), &CcnxConsumer::SendPacket, this);
+ m_sendEvent = Simulator::Schedule (Seconds (m_rtt->RetransmitTimeout ().ToDouble (Time::S) * 0.1), &NdnConsumer::SendPacket, this);
}
///////////////////////////////////////////////////
diff --git a/apps/ccnx-consumer-batches.h b/apps/ndn-consumer-batches.h
similarity index 74%
rename from apps/ccnx-consumer-batches.h
rename to apps/ndn-consumer-batches.h
index 36d7643..f177551 100644
--- a/apps/ccnx-consumer-batches.h
+++ b/apps/ndn-consumer-batches.h
@@ -18,10 +18,10 @@
* Author: Alexander Afanasyev <alexander.afanasyev@ucla.edu>
*/
-#ifndef CCNX_CONSUMER_BATCHES_H
-#define CCNX_CONSUMER_BATCHES_H
+#ifndef NDN_CONSUMER_BATCHES_H
+#define NDN_CONSUMER_BATCHES_H
-#include "ccnx-consumer.h"
+#include "ndn-consumer.h"
#include "ns3/traced-value.h"
#include "ns3/batches.h"
@@ -29,10 +29,10 @@
{
/**
- * @ingroup ccnx
- * \brief CCNx application for sending out Interest packets in batches
+ * @ingroup ndn
+ * \brief Ndn application for sending out Interest packets in batches
*/
-class CcnxConsumerBatches: public CcnxConsumer
+class NdnConsumerBatches: public NdnConsumer
{
public:
static TypeId GetTypeId ();
@@ -40,17 +40,17 @@
/**
* \brief Default constructor
*/
- CcnxConsumerBatches ();
+ NdnConsumerBatches ();
- // From CcnxApp
+ // From NdnApp
// virtual void
- // OnInterest (const Ptr<const CcnxInterestHeader> &interest);
+ // OnInterest (const Ptr<const NdnInterestHeader> &interest);
// virtual void
- // OnNack (const Ptr<const CcnxInterestHeader> &interest);
+ // OnNack (const Ptr<const NdnInterestHeader> &interest);
// virtual void
- // OnContentObject (const Ptr<const CcnxContentObjectHeader> &contentObject,
+ // OnContentObject (const Ptr<const NdnContentObjectHeader> &contentObject,
// const Ptr<const Packet> &payload);
// virtual void
@@ -67,7 +67,7 @@
AddBatch (uint32_t amount);
protected:
/**
- * \brief Constructs the Interest packet and sends it using a callback to the underlying CCNx protocol
+ * \brief Constructs the Interest packet and sends it using a callback to the underlying Ndn protocol
*/
virtual void
ScheduleNextPacket ();
diff --git a/apps/ccnx-consumer-cbr.cc b/apps/ndn-consumer-cbr.cc
similarity index 69%
rename from apps/ccnx-consumer-cbr.cc
rename to apps/ndn-consumer-cbr.cc
index b399d05..ef52ef5 100644
--- a/apps/ccnx-consumer-cbr.cc
+++ b/apps/ndn-consumer-cbr.cc
@@ -18,7 +18,7 @@
* Author: Ilya Moiseenko <iliamo@cs.ucla.edu>
*/
-#include "ccnx-consumer-cbr.h"
+#include "ndn-consumer-cbr.h"
#include "ns3/ptr.h"
#include "ns3/log.h"
#include "ns3/simulator.h"
@@ -29,40 +29,40 @@
#include "ns3/uinteger.h"
#include "ns3/double.h"
-#include "ns3/ccnx.h"
-#include "ns3/ccnx-app-face.h"
-#include "ns3/ccnx-interest-header.h"
-#include "ns3/ccnx-content-object-header.h"
+#include "ns3/ndn.h"
+#include "ns3/ndn-app-face.h"
+#include "ns3/ndn-interest-header.h"
+#include "ns3/ndn-content-object-header.h"
-NS_LOG_COMPONENT_DEFINE ("CcnxConsumerCbr");
+NS_LOG_COMPONENT_DEFINE ("NdnConsumerCbr");
namespace ns3
{
-NS_OBJECT_ENSURE_REGISTERED (CcnxConsumerCbr);
+NS_OBJECT_ENSURE_REGISTERED (NdnConsumerCbr);
TypeId
-CcnxConsumerCbr::GetTypeId (void)
+NdnConsumerCbr::GetTypeId (void)
{
- static TypeId tid = TypeId ("ns3::CcnxConsumerCbr")
- .SetGroupName ("Ccnx")
- .SetParent<CcnxConsumer> ()
- .AddConstructor<CcnxConsumerCbr> ()
+ static TypeId tid = TypeId ("ns3::NdnConsumerCbr")
+ .SetGroupName ("Ndn")
+ .SetParent<NdnConsumer> ()
+ .AddConstructor<NdnConsumerCbr> ()
.AddAttribute ("Frequency", "Frequency of interest packets",
StringValue ("1.0"),
- MakeDoubleAccessor (&CcnxConsumerCbr::m_frequency),
+ MakeDoubleAccessor (&NdnConsumerCbr::m_frequency),
MakeDoubleChecker<double> ())
.AddAttribute ("Randomize", "Type of send time randomization: none (default), uniform, exponential",
StringValue ("none"),
- MakeStringAccessor (&CcnxConsumerCbr::SetRandomize, &CcnxConsumerCbr::GetRandomize),
+ MakeStringAccessor (&NdnConsumerCbr::SetRandomize, &NdnConsumerCbr::GetRandomize),
MakeStringChecker ())
;
return tid;
}
-CcnxConsumerCbr::CcnxConsumerCbr ()
+NdnConsumerCbr::NdnConsumerCbr ()
: m_frequency (1.0)
, m_firstTime (true)
, m_random (0)
@@ -71,14 +71,14 @@
m_seqMax = std::numeric_limits<uint32_t>::max ();
}
-CcnxConsumerCbr::~CcnxConsumerCbr ()
+NdnConsumerCbr::~NdnConsumerCbr ()
{
if (m_random)
delete m_random;
}
void
-CcnxConsumerCbr::ScheduleNextPacket ()
+NdnConsumerCbr::ScheduleNextPacket ()
{
// double mean = 8.0 * m_payloadSize / m_desiredRate.GetBitRate ();
// std::cout << "next: " << Simulator::Now().ToDouble(Time::S) + mean << "s\n";
@@ -86,7 +86,7 @@
if (m_firstTime)
{
m_sendEvent = Simulator::Schedule (Seconds (0.0),
- &CcnxConsumer::SendPacket, this);
+ &NdnConsumer::SendPacket, this);
m_firstTime = false;
}
else if (!m_sendEvent.IsRunning ())
@@ -95,11 +95,11 @@
Seconds(1.0 / m_frequency)
:
Seconds(m_random->GetValue ()),
- &CcnxConsumer::SendPacket, this);
+ &NdnConsumer::SendPacket, this);
}
void
-CcnxConsumerCbr::SetRandomize (const std::string &value)
+NdnConsumerCbr::SetRandomize (const std::string &value)
{
if (m_random)
delete m_random;
@@ -119,7 +119,7 @@
}
std::string
-CcnxConsumerCbr::GetRandomize () const
+NdnConsumerCbr::GetRandomize () const
{
return m_randomType;
}
@@ -130,16 +130,16 @@
///////////////////////////////////////////////////
// void
-// CcnxConsumer::OnContentObject (const Ptr<const CcnxContentObjectHeader> &contentObject,
+// NdnConsumer::OnContentObject (const Ptr<const NdnContentObjectHeader> &contentObject,
// const Ptr<const Packet> &payload)
// {
-// CcnxConsumer::OnContentObject (contentObject, payload); // tracing inside
+// NdnConsumer::OnContentObject (contentObject, payload); // tracing inside
// }
// void
-// CcnxConsumer::OnNack (const Ptr<const CcnxInterestHeader> &interest)
+// NdnConsumer::OnNack (const Ptr<const NdnInterestHeader> &interest)
// {
-// CcnxConsumer::OnNack (interest); // tracing inside
+// NdnConsumer::OnNack (interest); // tracing inside
// }
} // namespace ns3
diff --git a/apps/ccnx-consumer-cbr.h b/apps/ndn-consumer-cbr.h
similarity index 78%
rename from apps/ccnx-consumer-cbr.h
rename to apps/ndn-consumer-cbr.h
index 6490fc8..6916d7a 100644
--- a/apps/ccnx-consumer-cbr.h
+++ b/apps/ndn-consumer-cbr.h
@@ -19,19 +19,19 @@
* Alexander Afanasyev <alexander.afanasyev@ucla.edu>
*/
-#ifndef CCNX_CONSUMER_CBR_H
-#define CCNX_CONSUMER_CBR_H
+#ifndef NDN_CONSUMER_CBR_H
+#define NDN_CONSUMER_CBR_H
-#include "ccnx-consumer.h"
+#include "ndn-consumer.h"
namespace ns3
{
/**
- * @ingroup ccnx
- * \brief CCNx application for sending out Interest packets at a "constant" rate (Poisson process)
+ * @ingroup ndn
+ * \brief Ndn application for sending out Interest packets at a "constant" rate (Poisson process)
*/
-class CcnxConsumerCbr: public CcnxConsumer
+class NdnConsumerCbr: public NdnConsumer
{
public:
static TypeId GetTypeId ();
@@ -40,23 +40,23 @@
* \brief Default constructor
* Sets up randomizer function and packet sequence number
*/
- CcnxConsumerCbr ();
- virtual ~CcnxConsumerCbr ();
+ NdnConsumerCbr ();
+ virtual ~NdnConsumerCbr ();
- // From CcnxApp
+ // From NdnApp
// virtual void
- // OnInterest (const Ptr<const CcnxInterestHeader> &interest);
+ // OnInterest (const Ptr<const NdnInterestHeader> &interest);
// virtual void
- // OnNack (const Ptr<const CcnxInterestHeader> &interest);
+ // OnNack (const Ptr<const NdnInterestHeader> &interest);
// virtual void
- // OnContentObject (const Ptr<const CcnxContentObjectHeader> &contentObject,
+ // OnContentObject (const Ptr<const NdnContentObjectHeader> &contentObject,
// const Ptr<const Packet> &payload);
protected:
/**
- * \brief Constructs the Interest packet and sends it using a callback to the underlying CCNx protocol
+ * \brief Constructs the Interest packet and sends it using a callback to the underlying Ndn protocol
*/
virtual void
ScheduleNextPacket ();
diff --git a/apps/ccnx-consumer-window.cc b/apps/ndn-consumer-window.cc
similarity index 67%
rename from apps/ccnx-consumer-window.cc
rename to apps/ndn-consumer-window.cc
index 8b3890d..242456a 100644
--- a/apps/ccnx-consumer-window.cc
+++ b/apps/ndn-consumer-window.cc
@@ -18,7 +18,7 @@
* Author: Alexander Afanasyev <alexander.afanasyev@ucla.edu>
*/
-#include "ccnx-consumer-window.h"
+#include "ndn-consumer-window.h"
#include "ns3/ptr.h"
#include "ns3/log.h"
#include "ns3/simulator.h"
@@ -28,78 +28,78 @@
#include "ns3/uinteger.h"
#include "ns3/double.h"
-NS_LOG_COMPONENT_DEFINE ("CcnxConsumerWindow");
+NS_LOG_COMPONENT_DEFINE ("NdnConsumerWindow");
namespace ns3
{
-NS_OBJECT_ENSURE_REGISTERED (CcnxConsumerWindow);
+NS_OBJECT_ENSURE_REGISTERED (NdnConsumerWindow);
TypeId
-CcnxConsumerWindow::GetTypeId (void)
+NdnConsumerWindow::GetTypeId (void)
{
- static TypeId tid = TypeId ("ns3::CcnxConsumerWindow")
- .SetGroupName ("Ccnx")
- .SetParent<CcnxConsumer> ()
- .AddConstructor<CcnxConsumerWindow> ()
+ static TypeId tid = TypeId ("ns3::NdnConsumerWindow")
+ .SetGroupName ("Ndn")
+ .SetParent<NdnConsumer> ()
+ .AddConstructor<NdnConsumerWindow> ()
.AddAttribute ("Window", "Initial size of the window",
StringValue ("1"),
- MakeUintegerAccessor (&CcnxConsumerWindow::GetWindow, &CcnxConsumerWindow::SetWindow),
+ MakeUintegerAccessor (&NdnConsumerWindow::GetWindow, &NdnConsumerWindow::SetWindow),
MakeUintegerChecker<uint32_t> ())
.AddAttribute ("PayloadSize", "Average size of content object size (to calculate interest generation rate)",
UintegerValue (1040),
- MakeUintegerAccessor (&CcnxConsumerWindow::GetPayloadSize, &CcnxConsumerWindow::SetPayloadSize),
+ MakeUintegerAccessor (&NdnConsumerWindow::GetPayloadSize, &NdnConsumerWindow::SetPayloadSize),
MakeUintegerChecker<uint32_t>())
.AddAttribute ("Size", "Amount of data in megabytes to request (relies on PayloadSize parameter)",
DoubleValue (-1), // don't impose limit by default
- MakeDoubleAccessor (&CcnxConsumerWindow::GetMaxSize, &CcnxConsumerWindow::SetMaxSize),
+ MakeDoubleAccessor (&NdnConsumerWindow::GetMaxSize, &NdnConsumerWindow::SetMaxSize),
MakeDoubleChecker<double> ())
.AddTraceSource ("WindowTrace",
"Window that controls how many outstanding interests are allowed",
- MakeTraceSourceAccessor (&CcnxConsumerWindow::m_window))
+ MakeTraceSourceAccessor (&NdnConsumerWindow::m_window))
.AddTraceSource ("InFlight",
"Current number of outstanding interests",
- MakeTraceSourceAccessor (&CcnxConsumerWindow::m_window))
+ MakeTraceSourceAccessor (&NdnConsumerWindow::m_window))
;
return tid;
}
-CcnxConsumerWindow::CcnxConsumerWindow ()
+NdnConsumerWindow::NdnConsumerWindow ()
: m_payloadSize (1040)
, m_inFlight (0)
{
}
void
-CcnxConsumerWindow::SetWindow (uint32_t window)
+NdnConsumerWindow::SetWindow (uint32_t window)
{
m_window = window;
}
uint32_t
-CcnxConsumerWindow::GetWindow () const
+NdnConsumerWindow::GetWindow () const
{
return m_window;
}
uint32_t
-CcnxConsumerWindow::GetPayloadSize () const
+NdnConsumerWindow::GetPayloadSize () const
{
return m_payloadSize;
}
void
-CcnxConsumerWindow::SetPayloadSize (uint32_t payload)
+NdnConsumerWindow::SetPayloadSize (uint32_t payload)
{
m_payloadSize = payload;
}
double
-CcnxConsumerWindow::GetMaxSize () const
+NdnConsumerWindow::GetMaxSize () const
{
if (m_seqMax == 0)
return -1.0;
@@ -108,7 +108,7 @@
}
void
-CcnxConsumerWindow::SetMaxSize (double size)
+NdnConsumerWindow::SetMaxSize (double size)
{
m_maxSize = size;
if (m_maxSize < 0)
@@ -124,12 +124,12 @@
void
-CcnxConsumerWindow::ScheduleNextPacket ()
+NdnConsumerWindow::ScheduleNextPacket ()
{
if (m_window == static_cast<uint32_t> (0) || m_inFlight >= m_window)
{
if (!m_sendEvent.IsRunning ())
- m_sendEvent = Simulator::Schedule (Seconds (m_rtt->RetransmitTimeout ().ToDouble (Time::S) * 0.1), &CcnxConsumer::SendPacket, this);
+ m_sendEvent = Simulator::Schedule (Seconds (m_rtt->RetransmitTimeout ().ToDouble (Time::S) * 0.1), &NdnConsumer::SendPacket, this);
return;
}
@@ -137,7 +137,7 @@
if (!m_sendEvent.IsRunning ())
{
m_inFlight++;
- m_sendEvent = Simulator::ScheduleNow (&CcnxConsumer::SendPacket, this);
+ m_sendEvent = Simulator::ScheduleNow (&NdnConsumer::SendPacket, this);
}
}
@@ -146,10 +146,10 @@
///////////////////////////////////////////////////
void
-CcnxConsumerWindow::OnContentObject (const Ptr<const CcnxContentObjectHeader> &contentObject,
+NdnConsumerWindow::OnContentObject (const Ptr<const NdnContentObjectHeader> &contentObject,
Ptr<Packet> payload)
{
- CcnxConsumer::OnContentObject (contentObject, payload);
+ NdnConsumer::OnContentObject (contentObject, payload);
m_window = m_window + 1;
@@ -158,9 +158,9 @@
}
void
-CcnxConsumerWindow::OnNack (const Ptr<const CcnxInterestHeader> &interest, Ptr<Packet> payload)
+NdnConsumerWindow::OnNack (const Ptr<const NdnInterestHeader> &interest, Ptr<Packet> payload)
{
- CcnxConsumer::OnNack (interest, payload);
+ NdnConsumer::OnNack (interest, payload);
if (m_inFlight > static_cast<uint32_t> (0)) m_inFlight--;
if (m_window > static_cast<uint32_t> (0))
@@ -171,10 +171,10 @@
}
void
-CcnxConsumerWindow::OnTimeout (uint32_t sequenceNumber)
+NdnConsumerWindow::OnTimeout (uint32_t sequenceNumber)
{
if (m_inFlight > static_cast<uint32_t> (0)) m_inFlight--;
- CcnxConsumer::OnTimeout (sequenceNumber);
+ NdnConsumer::OnTimeout (sequenceNumber);
}
} // namespace ns3
diff --git a/apps/ccnx-consumer-window.h b/apps/ndn-consumer-window.h
similarity index 78%
rename from apps/ccnx-consumer-window.h
rename to apps/ndn-consumer-window.h
index cde300a..5d9adff 100644
--- a/apps/ccnx-consumer-window.h
+++ b/apps/ndn-consumer-window.h
@@ -19,23 +19,23 @@
* Alexander Afanasyev <alexander.afanasyev@ucla.edu>
*/
-#ifndef CCNX_CONSUMER_WINDOW_H
-#define CCNX_CONSUMER_WINDOW_H
+#ifndef NDN_CONSUMER_WINDOW_H
+#define NDN_CONSUMER_WINDOW_H
-#include "ccnx-consumer.h"
+#include "ndn-consumer.h"
#include "ns3/traced-value.h"
namespace ns3
{
/**
- * @ingroup ccnx
- * \brief CCNx application for sending out Interest packets (window-based)
+ * @ingroup ndn
+ * \brief Ndn application for sending out Interest packets (window-based)
*
* !!! ATTENTION !!! This is highly experimental and relies on experimental features of the simulator.
* Behavior may be unpredictable if used incorrectly.
*/
-class CcnxConsumerWindow: public CcnxConsumer
+class NdnConsumerWindow: public NdnConsumer
{
public:
static TypeId GetTypeId ();
@@ -43,17 +43,17 @@
/**
* \brief Default constructor
*/
- CcnxConsumerWindow ();
+ NdnConsumerWindow ();
- // From CcnxApp
+ // From NdnApp
// virtual void
- // OnInterest (const Ptr<const CcnxInterestHeader> &interest);
+ // OnInterest (const Ptr<const NdnInterestHeader> &interest);
virtual void
- OnNack (const Ptr<const CcnxInterestHeader> &interest, Ptr<Packet> payload);
+ OnNack (const Ptr<const NdnInterestHeader> &interest, Ptr<Packet> payload);
virtual void
- OnContentObject (const Ptr<const CcnxContentObjectHeader> &contentObject,
+ OnContentObject (const Ptr<const NdnContentObjectHeader> &contentObject,
Ptr<Packet> payload);
virtual void
@@ -61,7 +61,7 @@
protected:
/**
- * \brief Constructs the Interest packet and sends it using a callback to the underlying CCNx protocol
+ * \brief Constructs the Interest packet and sends it using a callback to the underlying Ndn protocol
*/
virtual void
ScheduleNextPacket ();
diff --git a/apps/ccnx-consumer.cc b/apps/ndn-consumer.cc
similarity index 78%
rename from apps/ccnx-consumer.cc
rename to apps/ndn-consumer.cc
index c9e6103..6d976fc 100644
--- a/apps/ccnx-consumer.cc
+++ b/apps/ndn-consumer.cc
@@ -18,7 +18,7 @@
* Author: Ilya Moiseenko <iliamo@cs.ucla.edu>
*/
-#include "ccnx-consumer.h"
+#include "ndn-consumer.h"
#include "ns3/ptr.h"
#include "ns3/log.h"
#include "ns3/simulator.h"
@@ -29,10 +29,10 @@
#include "ns3/uinteger.h"
#include "ns3/double.h"
-#include "ns3/ccnx.h"
-#include "ns3/ccnx-app-face.h"
-#include "ns3/ccnx-interest-header.h"
-#include "ns3/ccnx-content-object-header.h"
+#include "ns3/ndn.h"
+#include "ns3/ndn-app-face.h"
+#include "ns3/ndn-interest-header.h"
+#include "ns3/ndn-content-object-header.h"
// #include "ns3/weights-path-stretch-tag.h"
#include <boost/ref.hpp>
@@ -44,63 +44,63 @@
namespace ll = boost::lambda;
-NS_LOG_COMPONENT_DEFINE ("CcnxConsumer");
+NS_LOG_COMPONENT_DEFINE ("NdnConsumer");
namespace ns3
{
-NS_OBJECT_ENSURE_REGISTERED (CcnxConsumer);
+NS_OBJECT_ENSURE_REGISTERED (NdnConsumer);
TypeId
-CcnxConsumer::GetTypeId (void)
+NdnConsumer::GetTypeId (void)
{
- static TypeId tid = TypeId ("ns3::CcnxConsumer")
- .SetGroupName ("Ccnx")
- .SetParent<CcnxApp> ()
+ static TypeId tid = TypeId ("ns3::NdnConsumer")
+ .SetGroupName ("Ndn")
+ .SetParent<NdnApp> ()
.AddAttribute ("StartSeq", "Initial sequence number",
IntegerValue (0),
- MakeIntegerAccessor(&CcnxConsumer::m_seq),
+ MakeIntegerAccessor(&NdnConsumer::m_seq),
MakeIntegerChecker<int32_t>())
- .AddAttribute ("Prefix","CcnxName of the Interest",
+ .AddAttribute ("Prefix","NdnName of the Interest",
StringValue ("/"),
- MakeCcnxNameComponentsAccessor (&CcnxConsumer::m_interestName),
- MakeCcnxNameComponentsChecker ())
+ MakeNdnNameComponentsAccessor (&NdnConsumer::m_interestName),
+ MakeNdnNameComponentsChecker ())
.AddAttribute ("LifeTime", "LifeTime for interest packet",
StringValue ("2s"),
- MakeTimeAccessor (&CcnxConsumer::m_interestLifeTime),
+ MakeTimeAccessor (&NdnConsumer::m_interestLifeTime),
MakeTimeChecker ())
.AddAttribute ("MinSuffixComponents", "MinSuffixComponents",
IntegerValue(-1),
- MakeIntegerAccessor(&CcnxConsumer::m_minSuffixComponents),
+ MakeIntegerAccessor(&NdnConsumer::m_minSuffixComponents),
MakeIntegerChecker<int32_t>())
.AddAttribute ("MaxSuffixComponents", "MaxSuffixComponents",
IntegerValue(-1),
- MakeIntegerAccessor(&CcnxConsumer::m_maxSuffixComponents),
+ MakeIntegerAccessor(&NdnConsumer::m_maxSuffixComponents),
MakeIntegerChecker<int32_t>())
.AddAttribute ("ChildSelector", "ChildSelector",
BooleanValue(false),
- MakeBooleanAccessor(&CcnxConsumer::m_childSelector),
+ MakeBooleanAccessor(&NdnConsumer::m_childSelector),
MakeBooleanChecker())
- .AddAttribute ("Exclude", "only simple name matching is supported (use CcnxNameComponents)",
- CcnxNameComponentsValue (),
- MakeCcnxNameComponentsAccessor (&CcnxConsumer::m_exclude),
- MakeCcnxNameComponentsChecker ())
+ .AddAttribute ("Exclude", "only simple name matching is supported (use NdnNameComponents)",
+ NdnNameComponentsValue (),
+ MakeNdnNameComponentsAccessor (&NdnConsumer::m_exclude),
+ MakeNdnNameComponentsChecker ())
.AddAttribute ("RetxTimer",
"Timeout defining how frequent retransmission timeouts should be checked",
StringValue ("50ms"),
- MakeTimeAccessor (&CcnxConsumer::GetRetxTimer, &CcnxConsumer::SetRetxTimer),
+ MakeTimeAccessor (&NdnConsumer::GetRetxTimer, &NdnConsumer::SetRetxTimer),
MakeTimeChecker ())
.AddTraceSource ("PathWeightsTrace", "PathWeightsTrace",
- MakeTraceSourceAccessor (&CcnxConsumer::m_pathWeightsTrace))
+ MakeTraceSourceAccessor (&NdnConsumer::m_pathWeightsTrace))
;
return tid;
}
-CcnxConsumer::CcnxConsumer ()
+NdnConsumer::NdnConsumer ()
: m_rand (0, std::numeric_limits<uint32_t>::max ())
, m_seq (0)
, m_seqMax (0) // don't request anything
@@ -111,7 +111,7 @@
}
void
-CcnxConsumer::SetRetxTimer (Time retxTimer)
+NdnConsumer::SetRetxTimer (Time retxTimer)
{
m_retxTimer = retxTimer;
if (m_retxEvent.IsRunning ())
@@ -119,17 +119,17 @@
// schedule even with new timeout
m_retxEvent = Simulator::Schedule (m_retxTimer,
- &CcnxConsumer::CheckRetxTimeout, this);
+ &NdnConsumer::CheckRetxTimeout, this);
}
Time
-CcnxConsumer::GetRetxTimer () const
+NdnConsumer::GetRetxTimer () const
{
return m_retxTimer;
}
void
-CcnxConsumer::CheckRetxTimeout ()
+NdnConsumer::CheckRetxTimeout ()
{
Time now = Simulator::Now ();
@@ -150,23 +150,23 @@
}
m_retxEvent = Simulator::Schedule (m_retxTimer,
- &CcnxConsumer::CheckRetxTimeout, this);
+ &NdnConsumer::CheckRetxTimeout, this);
}
// Application Methods
void
-CcnxConsumer::StartApplication () // Called at time specified by Start
+NdnConsumer::StartApplication () // Called at time specified by Start
{
NS_LOG_FUNCTION_NOARGS ();
// do base stuff
- CcnxApp::StartApplication ();
+ NdnApp::StartApplication ();
ScheduleNextPacket ();
}
void
-CcnxConsumer::StopApplication () // Called at time specified by Stop
+NdnConsumer::StopApplication () // Called at time specified by Stop
{
NS_LOG_FUNCTION_NOARGS ();
@@ -174,11 +174,11 @@
Simulator::Cancel (m_sendEvent);
// cleanup base stuff
- CcnxApp::StopApplication ();
+ NdnApp::StopApplication ();
}
void
-CcnxConsumer::SendPacket ()
+NdnConsumer::SendPacket ()
{
if (!m_active) return;
@@ -220,18 +220,18 @@
// std::cout << Simulator::Now ().ToDouble (Time::S) << "s -> " << seq << "\n";
//
- Ptr<CcnxNameComponents> nameWithSequence = Create<CcnxNameComponents> (m_interestName);
+ Ptr<NdnNameComponents> nameWithSequence = Create<NdnNameComponents> (m_interestName);
(*nameWithSequence) (seq);
//
- CcnxInterestHeader interestHeader;
+ NdnInterestHeader interestHeader;
interestHeader.SetNonce (m_rand.GetValue ());
interestHeader.SetName (nameWithSequence);
interestHeader.SetInterestLifetime (m_interestLifeTime);
interestHeader.SetChildSelector (m_childSelector);
if (m_exclude.size ()>0)
{
- interestHeader.SetExclude (Create<CcnxNameComponents> (m_exclude));
+ interestHeader.SetExclude (Create<NdnNameComponents> (m_exclude));
}
interestHeader.SetMaxSuffixComponents (m_maxSuffixComponents);
interestHeader.SetMinSuffixComponents (m_minSuffixComponents);
@@ -261,12 +261,12 @@
void
-CcnxConsumer::OnContentObject (const Ptr<const CcnxContentObjectHeader> &contentObject,
+NdnConsumer::OnContentObject (const Ptr<const NdnContentObjectHeader> &contentObject,
Ptr<Packet> payload)
{
if (!m_active) return;
- CcnxApp::OnContentObject (contentObject, payload); // tracing inside
+ NdnApp::OnContentObject (contentObject, payload); // tracing inside
NS_LOG_FUNCTION (this << contentObject << payload);
@@ -300,11 +300,11 @@
}
void
-CcnxConsumer::OnNack (const Ptr<const CcnxInterestHeader> &interest, Ptr<Packet> origPacket)
+NdnConsumer::OnNack (const Ptr<const NdnInterestHeader> &interest, Ptr<Packet> origPacket)
{
if (!m_active) return;
- CcnxApp::OnNack (interest, origPacket); // tracing inside
+ NdnApp::OnNack (interest, origPacket); // tracing inside
NS_LOG_DEBUG ("Nack type: " << interest->GetNack ());
@@ -325,7 +325,7 @@
}
void
-CcnxConsumer::OnTimeout (uint32_t sequenceNumber)
+NdnConsumer::OnTimeout (uint32_t sequenceNumber)
{
// std::cout << Simulator::Now () << ", TO: " << sequenceNumber << ", current RTO: " << m_rtt->RetransmitTimeout ().ToDouble (Time::S) << "s\n";
diff --git a/apps/ccnx-consumer.h b/apps/ndn-consumer.h
similarity index 84%
rename from apps/ccnx-consumer.h
rename to apps/ndn-consumer.h
index dacc586..0bc7f70 100644
--- a/apps/ccnx-consumer.h
+++ b/apps/ndn-consumer.h
@@ -19,12 +19,12 @@
* Alexander Afanasyev <alexander.afanasyev@ucla.edu>
*/
-#ifndef CCNX_CONSUMER_H
-#define CCNX_CONSUMER_H
+#ifndef NDN_CONSUMER_H
+#define NDN_CONSUMER_H
-#include "ccnx-app.h"
+#include "ndn-app.h"
#include "ns3/random-variable.h"
-#include "ns3/ccnx-name-components.h"
+#include "ns3/ndn-name-components.h"
#include "ns3/nstime.h"
#include "ns3/data-rate.h"
#include "../../internet/model/rtt-estimator.h"
@@ -41,10 +41,10 @@
{
/**
- * @ingroup ccnx
- * \brief CCNx application for sending out Interest packets
+ * @ingroup ndn
+ * \brief Ndn application for sending out Interest packets
*/
-class CcnxConsumer: public CcnxApp
+class NdnConsumer: public NdnApp
{
public:
static TypeId GetTypeId ();
@@ -53,18 +53,18 @@
* \brief Default constructor
* Sets up randomizer function and packet sequence number
*/
- CcnxConsumer ();
- virtual ~CcnxConsumer () {};
+ NdnConsumer ();
+ virtual ~NdnConsumer () {};
- // From CcnxApp
+ // From NdnApp
// virtual void
- // OnInterest (const Ptr<const CcnxInterestHeader> &interest);
+ // OnInterest (const Ptr<const NdnInterestHeader> &interest);
virtual void
- OnNack (const Ptr<const CcnxInterestHeader> &interest, Ptr<Packet> packet);
+ OnNack (const Ptr<const NdnInterestHeader> &interest, Ptr<Packet> packet);
virtual void
- OnContentObject (const Ptr<const CcnxContentObjectHeader> &contentObject,
+ OnContentObject (const Ptr<const NdnContentObjectHeader> &contentObject,
Ptr<Packet> payload);
/**
@@ -81,7 +81,7 @@
SendPacket ();
protected:
- // from CcnxApp
+ // from NdnApp
virtual void
StartApplication ();
@@ -89,7 +89,7 @@
StopApplication ();
/**
- * \brief Constructs the Interest packet and sends it using a callback to the underlying CCNx protocol
+ * \brief Constructs the Interest packet and sends it using a callback to the underlying Ndn protocol
*/
virtual void
ScheduleNextPacket () = 0;
@@ -126,12 +126,12 @@
Ptr<RttEstimator> m_rtt; ///< @brief RTT estimator
Time m_offTime; ///< \brief Time interval between packets
- CcnxNameComponents m_interestName; ///< \brief CcnxName of the Interest (use CcnxNameComponents)
+ NdnNameComponents m_interestName; ///< \brief NdnName of the Interest (use NdnNameComponents)
Time m_interestLifeTime; ///< \brief LifeTime for interest packet
- int32_t m_minSuffixComponents; ///< \brief MinSuffixComponents. See CcnxInterestHeader for more information
- int32_t m_maxSuffixComponents; ///< \brief MaxSuffixComponents. See CcnxInterestHeader for more information
- bool m_childSelector; ///< \brief ChildSelector. See CcnxInterestHeader for more information
- CcnxNameComponents m_exclude; ///< \brief Exclude. See CcnxInterestHeader for more information
+ int32_t m_minSuffixComponents; ///< \brief MinSuffixComponents. See NdnInterestHeader for more information
+ int32_t m_maxSuffixComponents; ///< \brief MaxSuffixComponents. See NdnInterestHeader for more information
+ bool m_childSelector; ///< \brief ChildSelector. See NdnInterestHeader for more information
+ NdnNameComponents m_exclude; ///< \brief Exclude. See NdnInterestHeader for more information
/// @cond include_hidden
/**
diff --git a/apps/ccnx-producer.cc b/apps/ndn-producer.cc
similarity index 64%
rename from apps/ccnx-producer.cc
rename to apps/ndn-producer.cc
index 8b57513..541d6d8 100644
--- a/apps/ccnx-producer.cc
+++ b/apps/ndn-producer.cc
@@ -19,107 +19,107 @@
* Alexander Afanasyev <alexander.afanasyev@ucla.edu>
*/
-#include "ccnx-producer.h"
+#include "ndn-producer.h"
#include "ns3/log.h"
-#include "ns3/ccnx-interest-header.h"
-#include "ns3/ccnx-content-object-header.h"
+#include "ns3/ndn-interest-header.h"
+#include "ns3/ndn-content-object-header.h"
#include "ns3/string.h"
#include "ns3/uinteger.h"
#include "ns3/packet.h"
#include "ns3/simulator.h"
-#include "ns3/ccnx-app-face.h"
-#include "ns3/ccnx-fib.h"
-// #include "../model/ccnx-fib-impl.h"
+#include "ns3/ndn-app-face.h"
+#include "ns3/ndn-fib.h"
+// #include "../model/ndn-fib-impl.h"
#include <boost/ref.hpp>
#include <boost/lambda/lambda.hpp>
#include <boost/lambda/bind.hpp>
namespace ll = boost::lambda;
-NS_LOG_COMPONENT_DEFINE ("CcnxProducer");
+NS_LOG_COMPONENT_DEFINE ("NdnProducer");
namespace ns3
{
-NS_OBJECT_ENSURE_REGISTERED (CcnxProducer);
+NS_OBJECT_ENSURE_REGISTERED (NdnProducer);
TypeId
-CcnxProducer::GetTypeId (void)
+NdnProducer::GetTypeId (void)
{
- static TypeId tid = TypeId ("ns3::CcnxProducer")
- .SetGroupName ("Ccnx")
- .SetParent<CcnxApp> ()
- .AddConstructor<CcnxProducer> ()
+ static TypeId tid = TypeId ("ns3::NdnProducer")
+ .SetGroupName ("Ndn")
+ .SetParent<NdnApp> ()
+ .AddConstructor<NdnProducer> ()
.AddAttribute ("Prefix","Prefix, for which producer has the data",
StringValue ("/"),
- MakeCcnxNameComponentsAccessor (&CcnxProducer::m_prefix),
- MakeCcnxNameComponentsChecker ())
+ MakeNdnNameComponentsAccessor (&NdnProducer::m_prefix),
+ MakeNdnNameComponentsChecker ())
.AddAttribute ("PayloadSize", "Virtual payload size for Content packets",
UintegerValue (1024),
- MakeUintegerAccessor(&CcnxProducer::m_virtualPayloadSize),
+ MakeUintegerAccessor(&NdnProducer::m_virtualPayloadSize),
MakeUintegerChecker<uint32_t>())
// optional attributes
.AddAttribute ("SignatureBits", "SignatureBits field",
UintegerValue (0),
- MakeUintegerAccessor(&CcnxProducer::m_signatureBits),
+ MakeUintegerAccessor(&NdnProducer::m_signatureBits),
MakeUintegerChecker<uint32_t> ())
;
return tid;
}
-CcnxProducer::CcnxProducer ()
+NdnProducer::NdnProducer ()
{
// NS_LOG_FUNCTION_NOARGS ();
}
// inherited from Application base class.
void
-CcnxProducer::StartApplication ()
+NdnProducer::StartApplication ()
{
NS_LOG_FUNCTION_NOARGS ();
- NS_ASSERT (GetNode ()->GetObject<CcnxFib> () != 0);
+ NS_ASSERT (GetNode ()->GetObject<NdnFib> () != 0);
- CcnxApp::StartApplication ();
+ NdnApp::StartApplication ();
NS_LOG_DEBUG ("NodeID: " << GetNode ()->GetId ());
- Ptr<CcnxFib> fib = GetNode ()->GetObject<CcnxFib> ();
+ Ptr<NdnFib> fib = GetNode ()->GetObject<NdnFib> ();
- Ptr<CcnxFibEntry> fibEntry = fib->Add (m_prefix, m_face, 0);
+ Ptr<NdnFibEntry> fibEntry = fib->Add (m_prefix, m_face, 0);
- fibEntry->UpdateStatus (m_face, CcnxFibFaceMetric::NDN_FIB_GREEN);
+ fibEntry->UpdateStatus (m_face, NdnFibFaceMetric::NDN_FIB_GREEN);
// // make face green, so it will be used primarily
- // StaticCast<CcnxFibImpl> (fib)->modify (fibEntry,
- // ll::bind (&CcnxFibEntry::UpdateStatus,
- // ll::_1, m_face, CcnxFibFaceMetric::NDN_FIB_GREEN));
+ // StaticCast<NdnFibImpl> (fib)->modify (fibEntry,
+ // ll::bind (&NdnFibEntry::UpdateStatus,
+ // ll::_1, m_face, NdnFibFaceMetric::NDN_FIB_GREEN));
}
void
-CcnxProducer::StopApplication ()
+NdnProducer::StopApplication ()
{
NS_LOG_FUNCTION_NOARGS ();
- NS_ASSERT (GetNode ()->GetObject<CcnxFib> () != 0);
+ NS_ASSERT (GetNode ()->GetObject<NdnFib> () != 0);
- CcnxApp::StopApplication ();
+ NdnApp::StopApplication ();
}
void
-CcnxProducer::OnInterest (const Ptr<const CcnxInterestHeader> &interest, Ptr<Packet> origPacket)
+NdnProducer::OnInterest (const Ptr<const NdnInterestHeader> &interest, Ptr<Packet> origPacket)
{
- CcnxApp::OnInterest (interest, origPacket); // tracing inside
+ NdnApp::OnInterest (interest, origPacket); // tracing inside
NS_LOG_FUNCTION (this << interest);
if (!m_active) return;
- static CcnxContentObjectTail tail;
- Ptr<CcnxContentObjectHeader> header = Create<CcnxContentObjectHeader> ();
- header->SetName (Create<CcnxNameComponents> (interest->GetName ()));
+ static NdnContentObjectTail tail;
+ Ptr<NdnContentObjectHeader> header = Create<NdnContentObjectHeader> ();
+ header->SetName (Create<NdnNameComponents> (interest->GetName ()));
header->GetSignedInfo ().SetTimestamp (Simulator::Now ());
header->GetSignature ().SetSignatureBits (m_signatureBits);
diff --git a/apps/ccnx-producer.h b/apps/ndn-producer.h
similarity index 79%
rename from apps/ccnx-producer.h
rename to apps/ndn-producer.h
index 4b54d79..4b0e079 100644
--- a/apps/ccnx-producer.h
+++ b/apps/ndn-producer.h
@@ -19,14 +19,14 @@
* Alexander Afanasyev <alexander.afanasyev@ucla.edu>
*/
-#ifndef CCNX_PRODUCER_H
-#define CCNX_PRODUCER_H
+#ifndef NDN_PRODUCER_H
+#define NDN_PRODUCER_H
-#include "ccnx-app.h"
+#include "ndn-app.h"
#include "ns3/ptr.h"
-#include "ns3/ccnx-name-components.h"
-#include "ns3/ccnx-content-object-header.h"
+#include "ns3/ndn-name-components.h"
+#include "ns3/ndn-content-object-header.h"
namespace ns3
{
@@ -39,16 +39,16 @@
* size and name same as in Interest.cation, which replying every incoming Interest
* with Data packet with a specified size and name same as in Interest.
*/
-class CcnxProducer : public CcnxApp
+class NdnProducer : public NdnApp
{
public:
static TypeId
GetTypeId (void);
- CcnxProducer ();
+ NdnProducer ();
- // inherited from CcnxApp
- void OnInterest (const Ptr<const CcnxInterestHeader> &interest, Ptr<Packet> packet);
+ // inherited from NdnApp
+ void OnInterest (const Ptr<const NdnInterestHeader> &interest, Ptr<Packet> packet);
protected:
// inherited from Application base class.
@@ -59,13 +59,13 @@
StopApplication (); // Called at time specified by Stop
private:
- CcnxNameComponents m_prefix;
+ NdnNameComponents m_prefix;
uint32_t m_virtualPayloadSize;
uint32_t m_signatureBits;
- // CcnxContentObjectHeader::SignedInfo m_signedInfo;
+ // NdnContentObjectHeader::SignedInfo m_signedInfo;
};
}
-#endif // CCNX_PRODUCER_H
+#endif // NDN_PRODUCER_H
diff --git a/examples/ccnx-simple-with-pcap.cc b/examples/ccnx-simple-with-pcap.cc
new file mode 100644
index 0000000..b97565b
--- /dev/null
+++ b/examples/ccnx-simple-with-pcap.cc
@@ -0,0 +1,83 @@
+
+#include "ns3/core-module.h"
+#include "ns3/network-module.h"
+#include "ns3/point-to-point-module.h"
+#include "ns3/ndnSIM-module.h"
+
+using namespace ns3;
+
+class PcapWriter
+{
+public:
+ PcapWriter (const std::string &file)
+ {
+ PcapHelper helper;
+ m_pcap = helper.CreateFile (file, std::ios::out, PcapHelper::DLT_PPP);
+ }
+
+ void
+ TracePacket (Ptr<const Packet> packet)
+ {
+ static PppHeader pppHeader;
+ pppHeader.SetProtocol (0x0077);
+
+ m_pcap->Write (Simulator::Now (), pppHeader, packet);
+ }
+
+private:
+ Ptr<PcapFileWrapper> m_pcap;
+};
+
+
+int
+main (int argc, char *argv[])
+{
+ // setting default parameters for PointToPoint links and channels
+ Config::SetDefault ("ns3::PointToPointNetDevice::DataRate", StringValue ("1Mbps"));
+ Config::SetDefault ("ns3::PointToPointChannel::Delay", StringValue ("10ms"));
+ Config::SetDefault ("ns3::DropTailQueue::MaxPackets", StringValue ("20"));
+
+ Config::SetDefault ("ns3::NdnProducer::SignatureBits", StringValue ("1"));
+
+ // Creating nodes
+ NodeContainer nodes;
+ nodes.Create (3);
+
+ // Connecting nodes using two links
+ PointToPointHelper p2p;
+ p2p.Install (nodes.Get (0), nodes.Get (1));
+ p2p.Install (nodes.Get (1), nodes.Get (2));
+
+ // Install Ndn stack on all nodes
+ NdnStackHelper ndnHelper;
+ ndnHelper.SetDefaultRoutes (true);
+ ndnHelper.InstallAll ();
+
+ // Installing applications
+
+ // Consumer
+ NdnAppHelper consumerHelper ("ns3::NdnConsumerCbr");
+ // Consumer will request /prefix/0, /prefix/1, ...
+ consumerHelper.SetPrefix ("/prefix");
+ consumerHelper.SetAttribute ("Frequency", StringValue ("10")); // 10 interests a second
+ consumerHelper.Install (nodes.Get (0)); // first node
+
+ // Producer
+ NdnAppHelper producerHelper ("ns3::NdnProducer");
+ // Producer will reply to all requests starting with /prefix
+ producerHelper.SetPrefix ("/prefix");
+ producerHelper.SetAttribute ("PayloadSize", StringValue("1024"));
+ producerHelper.Install (nodes.Get (2)); // last node
+
+ PcapWriter trace ("ndn-simple-trace.pcap");
+ Config::ConnectWithoutContext ("/NodeList/*/$ns3::NdnL3Protocol/FaceList/*/NdnTx",
+ MakeCallback (&PcapWriter::TracePacket, &trace));
+
+ Simulator::Stop (Seconds (20.0));
+
+ Simulator::Run ();
+ Simulator::Destroy ();
+
+ return 0;
+}
+
diff --git a/examples/ccnx-grid.cc b/examples/ndn-grid.cc
similarity index 79%
rename from examples/ccnx-grid.cc
rename to examples/ndn-grid.cc
index beb50a9..d037fda 100644
--- a/examples/ccnx-grid.cc
+++ b/examples/ndn-grid.cc
@@ -27,7 +27,7 @@
using namespace ns3;
-NS_LOG_COMPONENT_DEFINE ("CcnxGrid");
+NS_LOG_COMPONENT_DEFINE ("NdnGrid");
/**
* This scenario simulates a grid topology (using PointToPointGrid module)
@@ -42,7 +42,7 @@
*
* All links are 1Mbps with propagation 10ms delay.
*
- * FIB is populated using CcnxGlobalRoutingHelper.
+ * FIB is populated using NdnGlobalRoutingHelper.
*
* Consumer requests data from producer with frequency 10 interests per second
* (interests contain constantly increasing sequence number).
@@ -54,7 +54,7 @@
*
* To run scenario and see what is happening, use the following command:
*
- * NS_LOG=CcnxSimple:CcnxConsumer ./waf --run=ccnx-grid
+ * NS_LOG=NdnSimple:NdnConsumer ./waf --run=ndn-grid
*/
@@ -78,43 +78,43 @@
PointToPointGridHelper grid (nGrid, nGrid, p2p);
grid.BoundingBox(100,100,200,200);
- // Install CCNx stack on all nodes
- NS_LOG_INFO ("Installing CCNx stack on all nodes");
- CcnxStackHelper ccnxHelper;
- ccnxHelper.SetContentStore ("ns3::CcnxContentStoreLru",
+ // Install Ndn stack on all nodes
+ NS_LOG_INFO ("Installing Ndn stack on all nodes");
+ NdnStackHelper ndnHelper;
+ ndnHelper.SetContentStore ("ns3::NdnContentStoreLru",
"Size", "10");
- // ccnxHelper.SetContentStore ("ns3::CcnxContentStoreRandom",
+ // ndnHelper.SetContentStore ("ns3::NdnContentStoreRandom",
// "Size", "10");
- // ccnxHelper.SetForwardingStrategy ("ns3::ndnSIM::BestRoute");
- ccnxHelper.InstallAll ();
+ // ndnHelper.SetForwardingStrategy ("ns3::ndnSIM::BestRoute");
+ ndnHelper.InstallAll ();
- CcnxGlobalRoutingHelper ccnxGlobalRoutingHelper;
- ccnxGlobalRoutingHelper.InstallAll ();
+ NdnGlobalRoutingHelper ndnGlobalRoutingHelper;
+ ndnGlobalRoutingHelper.InstallAll ();
// Getting containers for the consumer/producer
Ptr<Node> producer = grid.GetNode (nGrid-1, nGrid-1);
NodeContainer consumerNodes;
consumerNodes.Add (grid.GetNode (0,0));
- // Install CCNx applications
+ // Install Ndn applications
NS_LOG_INFO ("Installing Applications");
std::string prefix = "/prefix";
- CcnxAppHelper consumerHelper ("ns3::CcnxConsumerCbr");
+ NdnAppHelper consumerHelper ("ns3::NdnConsumerCbr");
consumerHelper.SetPrefix (prefix);
consumerHelper.SetAttribute ("Frequency", StringValue ("100")); // 10 interests a second
ApplicationContainer consumers = consumerHelper.Install (consumerNodes);
- CcnxAppHelper producerHelper ("ns3::CcnxProducer");
+ NdnAppHelper producerHelper ("ns3::NdnProducer");
producerHelper.SetPrefix (prefix);
producerHelper.SetAttribute ("PayloadSize", StringValue("1024"));
ApplicationContainer producers = producerHelper.Install (producer);
- // Add /prefix origins to CcnxGlobalRouter
- ccnxGlobalRoutingHelper.AddOrigins (prefix, producer);
+ // Add /prefix origins to NdnGlobalRouter
+ ndnGlobalRoutingHelper.AddOrigins (prefix, producer);
// Calculate and install FIBs
- ccnxGlobalRoutingHelper.CalculateRoutes ();
+ ndnGlobalRoutingHelper.CalculateRoutes ();
Simulator::Stop (finishTime);
@@ -126,7 +126,7 @@
node ++)
{
std::cout << "Node #" << (*node)->GetId () << std::endl;
- (*node)->GetObject<CcnxContentStore> ()->Print (std::cout);
+ (*node)->GetObject<NdnContentStore> ()->Print (std::cout);
std::cout << std::endl;
}
diff --git a/examples/ccnx-simple.cc b/examples/ndn-simple.cc
similarity index 88%
rename from examples/ccnx-simple.cc
rename to examples/ndn-simple.cc
index da8b1f6..84d306b 100644
--- a/examples/ccnx-simple.cc
+++ b/examples/ndn-simple.cc
@@ -44,10 +44,10 @@
*
* To run scenario and see what is happening, use the following command:
*
- * NS_LOG=CcnxSimple:CcnxConsumer ./waf --run=ccnx-simple
+ * NS_LOG=NdnSimple:NdnConsumer ./waf --run=ndn-simple
*/
-NS_LOG_COMPONENT_DEFINE ("CcnxSimple");
+NS_LOG_COMPONENT_DEFINE ("NdnSimple");
int
main (int argc, char *argv[])
@@ -71,14 +71,14 @@
p2p.Install (nodes.Get (0), nodes.Get (1));
p2p.Install (nodes.Get (1), nodes.Get (2));
- // Install CCNx stack on all nodes
- NS_LOG_INFO ("Installing CCNx stack");
- CcnxStackHelper ccnxHelper;
- ccnxHelper.SetDefaultRoutes (true);
- ccnxHelper.InstallAll ();
+ // Install Ndn stack on all nodes
+ NS_LOG_INFO ("Installing Ndn stack");
+ NdnStackHelper ndnHelper;
+ ndnHelper.SetDefaultRoutes (true);
+ ndnHelper.InstallAll ();
- NS_LOG_INFO ("Installing CCNx applications");
- CcnxAppHelper consumerHelper ("ns3::CcnxConsumerCbr");
+ NS_LOG_INFO ("Installing Ndn applications");
+ NdnAppHelper consumerHelper ("ns3::NdnConsumerCbr");
// Consumer will request /prefix/0, /prefix/1, ...
consumerHelper.SetPrefix ("/prefix/0");
consumerHelper.SetAttribute ("Frequency", StringValue ("1")); // 10 interests a second
@@ -90,7 +90,7 @@
consumers.Start (Seconds (1));
consumers.Stop (Seconds (1.3));
- CcnxAppHelper producerHelper ("ns3::CcnxProducer");
+ NdnAppHelper producerHelper ("ns3::NdnProducer");
// Producer will reply to all requests starting with /prefix
producerHelper.SetPrefix ("/prefix");
producerHelper.SetAttribute ("PayloadSize", StringValue("1024"));
diff --git a/examples/trie.cc b/examples/trie.cc
index 9c9cc3c..4766229 100644
--- a/examples/trie.cc
+++ b/examples/trie.cc
@@ -59,7 +59,7 @@
args.Parse (argc, argv);
// typedef trie_with_policy<
- // ns3::CcnxNameComponents,
+ // ns3::NdnNameComponents,
// smart_pointer_payload_traits<Integer>,
// multi_policy_traits<
// mpl::vector2<lru_policy_traits,random_policy_traits>
@@ -74,7 +74,7 @@
// // // // x.getTrie ().PrintStat (std::cout);
- // ns3::CcnxNameComponents n1,n2,n3,n4;
+ // ns3::NdnNameComponents n1,n2,n3,n4;
// // // // n1("a")("b")("c");
// // // // n2("a")("b")("d");
// // // // n3("a")("b")("f");
@@ -98,21 +98,21 @@
Ptr<Node> node = CreateObject<Node> ();
Names::Add ("TestNode", node);
- Ptr<CcnxApp> app = CreateObject<CcnxApp> ();
+ Ptr<NdnApp> app = CreateObject<NdnApp> ();
node->AddApplication (app);
- ObjectFactory factory ("ns3::CcnxFib");
+ ObjectFactory factory ("ns3::NdnFib");
- Ptr<CcnxFib> fib = factory.Create<CcnxFib> ();
+ Ptr<NdnFib> fib = factory.Create<NdnFib> ();
node->AggregateObject (fib);
- Ptr<CcnxFace> face = CreateObject<CcnxAppFace> (app);
+ Ptr<NdnFace> face = CreateObject<NdnAppFace> (app);
- fib->Add (lexical_cast<CcnxNameComponents> ("/bla"), face, 1);
- fib->Add (lexical_cast<CcnxNameComponents> ("/bla/1"), face, 1);
- fib->Add (lexical_cast<CcnxNameComponents> ("/bla/2"), face, 1);
- fib->Add (lexical_cast<CcnxNameComponents> ("/bla/3"), face, 1);
- fib->Add (lexical_cast<CcnxNameComponents> ("/bla/1/1"), face, 1);
- fib->Add (lexical_cast<CcnxNameComponents> ("/bla/1/2"), face, 1);
+ fib->Add (lexical_cast<NdnNameComponents> ("/bla"), face, 1);
+ fib->Add (lexical_cast<NdnNameComponents> ("/bla/1"), face, 1);
+ fib->Add (lexical_cast<NdnNameComponents> ("/bla/2"), face, 1);
+ fib->Add (lexical_cast<NdnNameComponents> ("/bla/3"), face, 1);
+ fib->Add (lexical_cast<NdnNameComponents> ("/bla/1/1"), face, 1);
+ fib->Add (lexical_cast<NdnNameComponents> ("/bla/1/2"), face, 1);
cout << *fib << endl;
@@ -124,7 +124,7 @@
// std::cout << *item.payload () << " " << std::endl;
// }
- // ns3::CcnxNameComponents n4;
+ // ns3::NdnNameComponents n4;
// n4("a")("c");
// // std::cout << *x->find (n4).get<0> ();
diff --git a/examples/wscript b/examples/wscript
index 7a49ca3..decba8f 100644
--- a/examples/wscript
+++ b/examples/wscript
@@ -1,11 +1,11 @@
# -*- Mode: python; py-indent-offset: 4; indent-tabs-mode: nil; coding: utf-8; -*-
def build(bld):
- obj = bld.create_ns3_program('ccnx-simple', ['ndnSIM'])
- obj.source = 'ccnx-simple.cc'
+ obj = bld.create_ns3_program('ndn-simple', ['ndnSIM'])
+ obj.source = 'ndn-simple.cc'
- obj = bld.create_ns3_program('ccnx-grid', ['ndnSIM', 'point-to-point', 'point-to-point-layout'])
- obj.source = 'ccnx-grid.cc'
+ obj = bld.create_ns3_program('ndn-grid', ['ndnSIM', 'point-to-point', 'point-to-point-layout'])
+ obj.source = 'ndn-grid.cc'
obj = bld.create_ns3_program('trie', ['ndnSIM'])
obj.source = 'trie.cc'
diff --git a/helper/boost-graph-ccnx-global-routing-helper.h b/helper/boost-graph-ndn-global-routing-helper.h
similarity index 61%
rename from helper/boost-graph-ccnx-global-routing-helper.h
rename to helper/boost-graph-ndn-global-routing-helper.h
index ab6a239..ab619c6 100644
--- a/helper/boost-graph-ccnx-global-routing-helper.h
+++ b/helper/boost-graph-ndn-global-routing-helper.h
@@ -19,8 +19,8 @@
*/
-#ifndef BOOST_GRAPH_CCNX_GLOBAL_ROUTING_HELPER_H
-#define BOOST_GRAPH_CCNX_GLOBAL_ROUTING_HELPER_H
+#ifndef BOOST_GRAPH_NDN_GLOBAL_ROUTING_HELPER_H
+#define BOOST_GRAPH_NDN_GLOBAL_ROUTING_HELPER_H
/// @cond include_hidden
@@ -28,35 +28,35 @@
#include <boost/graph/properties.hpp>
#include <boost/ref.hpp>
-#include "ns3/ccnx-face.h"
+#include "ns3/ndn-face.h"
#include "ns3/node-list.h"
#include "ns3/channel-list.h"
-#include "../model/ccnx-global-router.h"
+#include "../model/ndn-global-router.h"
#include <list>
#include <map>
namespace boost
{
-class CcnxGlobalRouterGraph
+class NdnGlobalRouterGraph
{
public:
- typedef ns3::Ptr< ns3::CcnxGlobalRouter > Vertice;
+ typedef ns3::Ptr< ns3::NdnGlobalRouter > Vertice;
typedef uint16_t edge_property_type;
typedef uint32_t vertex_property_type;
- CcnxGlobalRouterGraph ()
+ NdnGlobalRouterGraph ()
{
for (ns3::NodeList::Iterator node = ns3::NodeList::Begin (); node != ns3::NodeList::End (); node++)
{
- ns3::Ptr<ns3::CcnxGlobalRouter> gr = (*node)->GetObject<ns3::CcnxGlobalRouter> ();
+ ns3::Ptr<ns3::NdnGlobalRouter> gr = (*node)->GetObject<ns3::NdnGlobalRouter> ();
if (gr != 0)
m_vertices.push_back (gr);
}
for (ns3::ChannelList::Iterator channel = ns3::ChannelList::Begin (); channel != ns3::ChannelList::End (); channel++)
{
- ns3::Ptr<ns3::CcnxGlobalRouter> gr = (*channel)->GetObject<ns3::CcnxGlobalRouter> ();
+ ns3::Ptr<ns3::NdnGlobalRouter> gr = (*channel)->GetObject<ns3::NdnGlobalRouter> ();
if (gr != 0)
m_vertices.push_back (gr);
}
@@ -73,7 +73,7 @@
};
-class ccnx_global_router_graph_category :
+class ndn_global_router_graph_category :
public virtual vertex_list_graph_tag,
public virtual incidence_graph_tag
{
@@ -81,21 +81,21 @@
template<>
-struct graph_traits< CcnxGlobalRouterGraph >
+struct graph_traits< NdnGlobalRouterGraph >
{
// Graph concept
- typedef CcnxGlobalRouterGraph::Vertice vertex_descriptor;
- typedef ns3::CcnxGlobalRouter::Incidency edge_descriptor;
+ typedef NdnGlobalRouterGraph::Vertice vertex_descriptor;
+ typedef ns3::NdnGlobalRouter::Incidency edge_descriptor;
typedef directed_tag directed_category;
typedef disallow_parallel_edge_tag edge_parallel_category;
- typedef ccnx_global_router_graph_category traversal_category;
+ typedef ndn_global_router_graph_category traversal_category;
// VertexList concept
typedef std::list< vertex_descriptor >::const_iterator vertex_iterator;
typedef size_t vertices_size_type;
// AdjacencyGraph concept
- typedef ns3::CcnxGlobalRouter::IncidencyList::iterator out_edge_iterator;
+ typedef ns3::NdnGlobalRouter::IncidencyList::iterator out_edge_iterator;
typedef size_t degree_size_type;
// typedef size_t edges_size_type;
@@ -107,55 +107,55 @@
{
inline
-graph_traits< CcnxGlobalRouterGraph >::vertex_descriptor
+graph_traits< NdnGlobalRouterGraph >::vertex_descriptor
source(
- graph_traits< CcnxGlobalRouterGraph >::edge_descriptor e,
- const CcnxGlobalRouterGraph& g)
+ graph_traits< NdnGlobalRouterGraph >::edge_descriptor e,
+ const NdnGlobalRouterGraph& g)
{
return e.get<0> ();
}
inline
-graph_traits< CcnxGlobalRouterGraph >::vertex_descriptor
+graph_traits< NdnGlobalRouterGraph >::vertex_descriptor
target(
- graph_traits< CcnxGlobalRouterGraph >::edge_descriptor e,
- const CcnxGlobalRouterGraph& g)
+ graph_traits< NdnGlobalRouterGraph >::edge_descriptor e,
+ const NdnGlobalRouterGraph& g)
{
return e.get<2> ();
}
inline
-std::pair< graph_traits< CcnxGlobalRouterGraph >::vertex_iterator,
- graph_traits< CcnxGlobalRouterGraph >::vertex_iterator >
-vertices (const CcnxGlobalRouterGraph&g)
+std::pair< graph_traits< NdnGlobalRouterGraph >::vertex_iterator,
+ graph_traits< NdnGlobalRouterGraph >::vertex_iterator >
+vertices (const NdnGlobalRouterGraph&g)
{
return make_pair (g.GetVertices ().begin (), g.GetVertices ().end ());
}
inline
-graph_traits< CcnxGlobalRouterGraph >::vertices_size_type
-num_vertices(const CcnxGlobalRouterGraph &g)
+graph_traits< NdnGlobalRouterGraph >::vertices_size_type
+num_vertices(const NdnGlobalRouterGraph &g)
{
return g.GetVertices ().size ();
}
inline
-std::pair< graph_traits< CcnxGlobalRouterGraph >::out_edge_iterator,
- graph_traits< CcnxGlobalRouterGraph >::out_edge_iterator >
+std::pair< graph_traits< NdnGlobalRouterGraph >::out_edge_iterator,
+ graph_traits< NdnGlobalRouterGraph >::out_edge_iterator >
out_edges(
- graph_traits< CcnxGlobalRouterGraph >::vertex_descriptor u,
- const CcnxGlobalRouterGraph& g)
+ graph_traits< NdnGlobalRouterGraph >::vertex_descriptor u,
+ const NdnGlobalRouterGraph& g)
{
return std::make_pair(u->GetIncidencies ().begin (),
u->GetIncidencies ().end ());
}
inline
-graph_traits< CcnxGlobalRouterGraph >::degree_size_type
+graph_traits< NdnGlobalRouterGraph >::degree_size_type
out_degree(
- graph_traits< CcnxGlobalRouterGraph >::vertex_descriptor u,
- const CcnxGlobalRouterGraph& g)
+ graph_traits< NdnGlobalRouterGraph >::vertex_descriptor u,
+ const NdnGlobalRouterGraph& g)
{
return u->GetIncidencies ().size ();
}
@@ -166,36 +166,36 @@
struct EdgeWeights
{
- EdgeWeights (const CcnxGlobalRouterGraph &graph)
+ EdgeWeights (const NdnGlobalRouterGraph &graph)
: m_graph (graph)
{
}
private:
- const CcnxGlobalRouterGraph &m_graph;
+ const NdnGlobalRouterGraph &m_graph;
};
struct VertexIds
{
- VertexIds (const CcnxGlobalRouterGraph &graph)
+ VertexIds (const NdnGlobalRouterGraph &graph)
: m_graph (graph)
{
}
private:
- const CcnxGlobalRouterGraph &m_graph;
+ const NdnGlobalRouterGraph &m_graph;
};
template<>
-struct property_map< CcnxGlobalRouterGraph, edge_weight_t >
+struct property_map< NdnGlobalRouterGraph, edge_weight_t >
{
typedef const EdgeWeights const_type;
typedef EdgeWeights type;
};
template<>
-struct property_map< CcnxGlobalRouterGraph, vertex_index_t >
+struct property_map< NdnGlobalRouterGraph, vertex_index_t >
{
typedef const VertexIds const_type;
typedef VertexIds type;
@@ -206,9 +206,9 @@
struct property_traits< EdgeWeights >
{
// Metric property map
- typedef tuple< ns3::Ptr<ns3::CcnxFace>, uint16_t > value_type;
- typedef tuple< ns3::Ptr<ns3::CcnxFace>, uint16_t > reference;
- typedef ns3::CcnxGlobalRouter::Incidency key_type;
+ typedef tuple< ns3::Ptr<ns3::NdnFace>, uint16_t > value_type;
+ typedef tuple< ns3::Ptr<ns3::NdnFace>, uint16_t > reference;
+ typedef ns3::NdnGlobalRouter::Incidency key_type;
typedef readable_property_map_tag category;
};
@@ -254,8 +254,8 @@
return a + b.get<1> ();
}
- tuple< ns3::Ptr<ns3::CcnxFace>, uint32_t >
- operator () (tuple< ns3::Ptr<ns3::CcnxFace>, uint32_t > a,
+ tuple< ns3::Ptr<ns3::NdnFace>, uint32_t >
+ operator () (tuple< ns3::Ptr<ns3::NdnFace>, uint32_t > a,
property_traits< EdgeWeights >::reference b) const
{
if (a.get<0> () == 0)
@@ -271,14 +271,14 @@
// Metric property map
typedef uint32_t value_type;
typedef uint32_t reference;
- typedef ns3::Ptr< ns3::CcnxGlobalRouter > key_type;
+ typedef ns3::Ptr< ns3::NdnGlobalRouter > key_type;
typedef readable_property_map_tag category;
};
inline EdgeWeights
get(edge_weight_t,
- const CcnxGlobalRouterGraph &g)
+ const NdnGlobalRouterGraph &g)
{
return EdgeWeights (g);
}
@@ -286,7 +286,7 @@
inline VertexIds
get(vertex_index_t,
- const CcnxGlobalRouterGraph &g)
+ const NdnGlobalRouterGraph &g)
{
return VertexIds (g);
}
@@ -300,16 +300,16 @@
}
// void
-// put (cref< std::map< ns3::Ptr<ns3::CcnxGlobalRouter>, ns3::Ptr<ns3::CcnxGlobalRouter> > > map,
+// put (cref< std::map< ns3::Ptr<ns3::NdnGlobalRouter>, ns3::Ptr<ns3::NdnGlobalRouter> > > map,
uint32_t
-get (const boost::VertexIds&, ns3::Ptr<ns3::CcnxGlobalRouter> &gr)
+get (const boost::VertexIds&, ns3::Ptr<ns3::NdnGlobalRouter> &gr)
{
return gr->GetId ();
}
inline property_traits< EdgeWeights >::reference
-get(const boost::EdgeWeights&, ns3::CcnxGlobalRouter::Incidency &edge)
+get(const boost::EdgeWeights&, ns3::NdnGlobalRouter::Incidency &edge)
{
if (edge.get<1> () == 0)
return property_traits< EdgeWeights >::reference (0, 0);
@@ -318,7 +318,7 @@
}
struct PredecessorsMap :
- public std::map< ns3::Ptr< ns3::CcnxGlobalRouter >, ns3::Ptr< ns3::CcnxGlobalRouter > >
+ public std::map< ns3::Ptr< ns3::NdnGlobalRouter >, ns3::Ptr< ns3::NdnGlobalRouter > >
{
};
@@ -326,15 +326,15 @@
struct property_traits< reference_wrapper<PredecessorsMap> >
{
// Metric property map
- typedef ns3::Ptr< ns3::CcnxGlobalRouter > value_type;
- typedef ns3::Ptr< ns3::CcnxGlobalRouter > reference;
- typedef ns3::Ptr< ns3::CcnxGlobalRouter > key_type;
+ typedef ns3::Ptr< ns3::NdnGlobalRouter > value_type;
+ typedef ns3::Ptr< ns3::NdnGlobalRouter > reference;
+ typedef ns3::Ptr< ns3::NdnGlobalRouter > key_type;
typedef read_write_property_map_tag category;
};
struct DistancesMap :
- public std::map< ns3::Ptr< ns3::CcnxGlobalRouter >, tuple< ns3::Ptr<ns3::CcnxFace>, uint32_t > >
+ public std::map< ns3::Ptr< ns3::NdnGlobalRouter >, tuple< ns3::Ptr<ns3::NdnFace>, uint32_t > >
{
};
@@ -342,18 +342,18 @@
struct property_traits< reference_wrapper<DistancesMap> >
{
// Metric property map
- typedef tuple< ns3::Ptr<ns3::CcnxFace>, uint32_t > value_type;
- typedef tuple< ns3::Ptr<ns3::CcnxFace>, uint32_t > reference;
- typedef ns3::Ptr< ns3::CcnxGlobalRouter > key_type;
+ typedef tuple< ns3::Ptr<ns3::NdnFace>, uint32_t > value_type;
+ typedef tuple< ns3::Ptr<ns3::NdnFace>, uint32_t > reference;
+ typedef ns3::Ptr< ns3::NdnGlobalRouter > key_type;
typedef read_write_property_map_tag category;
};
-inline tuple< ns3::Ptr<ns3::CcnxFace>, uint32_t >
-get (DistancesMap &map, ns3::Ptr<ns3::CcnxGlobalRouter> key)
+inline tuple< ns3::Ptr<ns3::NdnFace>, uint32_t >
+get (DistancesMap &map, ns3::Ptr<ns3::NdnGlobalRouter> key)
{
boost::DistancesMap::iterator i = map.find (key);
if (i == map.end ())
- return tuple< ns3::Ptr<ns3::CcnxFace>, uint32_t > (0, std::numeric_limits<uint32_t>::max ());
+ return tuple< ns3::Ptr<ns3::NdnFace>, uint32_t > (0, std::numeric_limits<uint32_t>::max ());
else
return i->second;
}
@@ -362,4 +362,4 @@
/// @endcond
-#endif // BOOST_GRAPH_CCNX_GLOBAL_ROUTING_HELPER_H
+#endif // BOOST_GRAPH_NDN_GLOBAL_ROUTING_HELPER_H
diff --git a/helper/ccnb-parser/syntax-tree/ccnb-parser-dtag.cc.~HEAD~ b/helper/ccnb-parser/syntax-tree/ccnb-parser-dtag.cc.~HEAD~
deleted file mode 100644
index 8d9ecf7..0000000
--- a/helper/ccnb-parser/syntax-tree/ccnb-parser-dtag.cc.~HEAD~
+++ /dev/null
@@ -1,76 +0,0 @@
-/* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil -*- */
-/*
- * Copyright (c) 2011 University of California, Los Angeles
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation;
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * Author: Alexander Afanasyev <alexander.afanasyev@ucla.edu>
- */
-
-#include "ccnb-parser-dtag.h"
-
-#include "ccnb-parser-base-attr.h"
-#include "ccnb-parser-base-tag.h"
-
-namespace ns3 {
-namespace CcnbParser {
-
-Dtag::Dtag (Buffer::Iterator &start, uint32_t dtag)
-{
- m_dtag = dtag;
-
- /**
- * Hack
- *
- * Stop processing after encountering <Content> dtag. Actual
- * content (including virtual payload) will be stored in Packet
- * buffer
- */
- if (dtag == CCN_DTAG_Content)
- return; // hack #1. Do not process nesting block for <Content>
-
- // parse attributes until first nested block reached
- while (!start.IsEnd () && start.PeekU8 ()!=CCN_CLOSE)
- {
- Ptr<Block> block = Block::ParseBlock (start);
- if (DynamicCast<BaseAttr> (block)!=0)
- m_attrs.push_back (block);
- else
- {
- m_nestedTags.push_back (block);
- break;
- }
- }
-
- // parse the rest of nested blocks
- while (!start.IsEnd () && start.PeekU8 ()!=CCN_CLOSE)
- {
- // hack #2. Stop processing nested blocks if last block was <Content>
- if (m_dtag == CCN_DTAG_ContentObject && // we are in <ContentObject>
- DynamicCast<Dtag> (m_nestedTags.back())!=0 && // last block is DTAG
- DynamicCast<Dtag> (m_nestedTags.back())->m_dtag == CCN_DTAG_Content)
- {
- return;
- }
-
- m_nestedTags.push_back (Block::ParseBlock (start));
- }
- if (start.IsEnd ())
- throw CcnbDecodingException ();
-
- start.ReadU8 (); // read CCN_CLOSE
-}
-
-}
-}
diff --git a/helper/ccnb-parser/visitors/ccnb-parser-interest-visitor.cc b/helper/ccnb-parser/visitors/ccnb-parser-interest-visitor.cc
index ff219f0..5188f8d 100644
--- a/helper/ccnb-parser/visitors/ccnb-parser-interest-visitor.cc
+++ b/helper/ccnb-parser/visitors/ccnb-parser-interest-visitor.cc
@@ -23,12 +23,12 @@
#include "../syntax-tree/ccnb-parser-block.h"
#include "../syntax-tree/ccnb-parser-dtag.h"
-#include "ns3/ccnx-name-components.h"
+#include "ns3/ndn-name-components.h"
#include "ns3/assert.h"
#include "ns3/nstime.h"
-#include "ns3/ccnx-interest-header.h"
+#include "ns3/ndn-interest-header.h"
#include "ccnb-parser-name-components-visitor.h"
#include "ccnb-parser-non-negative-integer-visitor.h"
#include "ccnb-parser-timestamp-visitor.h"
@@ -45,7 +45,7 @@
// We don't care about any other fields
void
-InterestVisitor::visit (Dtag &n, boost::any param/*should be CcnxInterestHeader* */)
+InterestVisitor::visit (Dtag &n, boost::any param/*should be NdnInterestHeader* */)
{
// uint32_t n.m_dtag;
// std::list<Ptr<Block> > n.m_nestedBlocks;
@@ -55,7 +55,7 @@
static TimestampVisitor timestampVisitor;
static Uint32tBlobVisitor nonceVisitor;
- CcnxInterestHeader &interest = *(boost::any_cast<CcnxInterestHeader*> (param));
+ NdnInterestHeader &interest = *(boost::any_cast<NdnInterestHeader*> (param));
switch (n.m_dtag)
{
@@ -73,7 +73,7 @@
NS_LOG_DEBUG ("Name");
// process name components
- Ptr<CcnxNameComponents> name = Create<CcnxNameComponents> ();
+ Ptr<NdnNameComponents> name = Create<NdnNameComponents> ();
BOOST_FOREACH (Ptr<Block> block, n.m_nestedTags)
{
@@ -106,7 +106,7 @@
{
NS_LOG_DEBUG ("Exclude");
// process exclude components
- Ptr<CcnxNameComponents> exclude = Create<CcnxNameComponents> ();
+ Ptr<NdnNameComponents> exclude = Create<NdnNameComponents> ();
BOOST_FOREACH (Ptr<Block> block, n.m_nestedTags)
{
diff --git a/helper/ccnb-parser/visitors/ccnb-parser-name-components-visitor.cc b/helper/ccnb-parser/visitors/ccnb-parser-name-components-visitor.cc
index 80e49eb..387292b 100644
--- a/helper/ccnb-parser/visitors/ccnb-parser-name-components-visitor.cc
+++ b/helper/ccnb-parser/visitors/ccnb-parser-name-components-visitor.cc
@@ -22,19 +22,19 @@
#include "ccnb-parser-string-visitor.h"
#include "../syntax-tree/ccnb-parser-dtag.h"
-#include "ns3/ccnx-name-components.h"
+#include "ns3/ndn-name-components.h"
namespace ns3 {
namespace CcnbParser {
void
-NameComponentsVisitor::visit (Dtag &n, boost::any param/*should be CcnxNameComponents* */)
+NameComponentsVisitor::visit (Dtag &n, boost::any param/*should be NdnNameComponents* */)
{
// uint32_t n.m_dtag;
// std::list<Ptr<Block> > n.m_nestedBlocks;
static StringVisitor stringVisitor;
- CcnxNameComponents &components = *(boost::any_cast<CcnxNameComponents*> (param));
+ NdnNameComponents &components = *(boost::any_cast<NdnNameComponents*> (param));
switch (n.m_dtag)
{
diff --git a/helper/ccnb-parser/visitors/ccnb-parser-void-no-argu-visitor.h b/helper/ccnb-parser/visitors/ccnb-parser-void-no-argu-visitor.h
index 90aee97..25f9e50 100644
--- a/helper/ccnb-parser/visitors/ccnb-parser-void-no-argu-visitor.h
+++ b/helper/ccnb-parser/visitors/ccnb-parser-void-no-argu-visitor.h
@@ -27,7 +27,7 @@
namespace CcnbParser {
/**
- * \ingroup ccnx-ccnb
+ * \ingroup ndn-ccnb
* \brief Visitor interface that takes no arguments and returns nothing
*
* \see http://www.ccnx.org/releases/latest/doc/technical/BinaryEncoding.html
diff --git a/helper/ccnb-parser/visitors/ccnb-parser-void-visitor.h b/helper/ccnb-parser/visitors/ccnb-parser-void-visitor.h
index 5ac08bf..1f9d1fa 100644
--- a/helper/ccnb-parser/visitors/ccnb-parser-void-visitor.h
+++ b/helper/ccnb-parser/visitors/ccnb-parser-void-visitor.h
@@ -28,7 +28,7 @@
namespace CcnbParser {
/**
- * \ingroup ccnx-ccnb
+ * \ingroup ndn-ccnb
* \brief Visitor interface that takes one boost::any argument and returns nothing
*
* \see http://www.ccnx.org/releases/latest/doc/technical/BinaryEncoding.html
diff --git a/helper/ccnx-decoding-helper.h b/helper/ccnx-decoding-helper.h
deleted file mode 100644
index 015b7ff..0000000
--- a/helper/ccnx-decoding-helper.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil -*- */
-/*
- * Copyright (c) 2011 University of California, Los Angeles
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation;
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * Author: Alexander Afanasyev <alexander.afanasyev@ucla.edu>
- */
-
-#ifndef _CCNX_DECODING_HELPER_H_
-#define _CCNX_DECODING_HELPER_H_
-
-#include <cstring>
-#include "ns3/buffer.h"
-
-namespace ns3 {
-
-class CcnxInterestHeader;
-class CcnxContentObjectHeader;
-
-/**
- * \brief Helper class to decode ccnb formatted CCNx message
- */
-class CcnxDecodingHelper
-{
-public:
- /**
- * \brief Deserialize Buffer::Iterator to CcnxInterestHeader
- * @param start Buffer containing serialized CCNx message
- * @param interest Pointer to the CcnxInterestHeader to hold deserialized value
- * @return Number of bytes used for deserialization
- */
- static size_t
- Deserialize (Buffer::Iterator start, CcnxInterestHeader &interest);
-
- /**
- * \brief Deserialize Buffer::Iterator to CcnxContentObjectHeader
- * @param start Buffer containing serialized CCNx message
- * @param contentObject Pointer to the CcnxContentObjectHeader to hold deserialized value
- * @return Number of bytes used for deserialization
- */
- static size_t
- Deserialize (Buffer::Iterator start, CcnxContentObjectHeader &contentObject);
-};
-} // namespace ns3
-
-#endif // _CCNX_DECODING_HELPER_H_
diff --git a/helper/ccnx-app-helper.cc b/helper/ndn-app-helper.cc
similarity index 79%
rename from helper/ccnx-app-helper.cc
rename to helper/ndn-app-helper.cc
index 0e77075..dcaee07 100644
--- a/helper/ccnx-app-helper.cc
+++ b/helper/ndn-app-helper.cc
@@ -18,40 +18,40 @@
* Author: Ilya Moiseenko <iliamo@cs.ucla.edu>
*/
-#include "ccnx-app-helper.h"
+#include "ndn-app-helper.h"
#include "ns3/log.h"
#include "ns3/string.h"
#include "ns3/names.h"
-#include "ns3/ccnx-app.h"
+#include "ns3/ndn-app.h"
#ifdef NS3_MPI
#include "ns3/mpi-interface.h"
#endif
-NS_LOG_COMPONENT_DEFINE ("CcnxAppHelper");
+NS_LOG_COMPONENT_DEFINE ("NdnAppHelper");
namespace ns3
{
-CcnxAppHelper::CcnxAppHelper (const std::string &app)
+NdnAppHelper::NdnAppHelper (const std::string &app)
{
m_factory.SetTypeId (app);
}
void
-CcnxAppHelper::SetPrefix (const std::string &prefix)
+NdnAppHelper::SetPrefix (const std::string &prefix)
{
m_factory.Set ("Prefix", StringValue(prefix));
}
void
-CcnxAppHelper::SetAttribute (std::string name, const AttributeValue &value)
+NdnAppHelper::SetAttribute (std::string name, const AttributeValue &value)
{
m_factory.Set (name, value);
}
ApplicationContainer
-CcnxAppHelper::Install (Ptr<Node> node)
+NdnAppHelper::Install (Ptr<Node> node)
{
ApplicationContainer apps;
Ptr<Application> app = InstallPriv (node);
@@ -62,14 +62,14 @@
}
ApplicationContainer
-CcnxAppHelper::Install (std::string nodeName)
+NdnAppHelper::Install (std::string nodeName)
{
Ptr<Node> node = Names::Find<Node> (nodeName);
return Install (node);
}
ApplicationContainer
-CcnxAppHelper::Install (NodeContainer c)
+NdnAppHelper::Install (NodeContainer c)
{
ApplicationContainer apps;
for (NodeContainer::Iterator i = c.Begin (); i != c.End (); ++i)
@@ -83,7 +83,7 @@
}
Ptr<Application>
-CcnxAppHelper::InstallPriv (Ptr<Node> node)
+NdnAppHelper::InstallPriv (Ptr<Node> node)
{
#ifdef NS3_MPI
if (MpiInterface::IsEnabled () &&
@@ -94,7 +94,7 @@
}
#endif
- Ptr<CcnxApp> app = m_factory.Create<CcnxApp> ();
+ Ptr<NdnApp> app = m_factory.Create<NdnApp> ();
node->AddApplication (app);
return app;
diff --git a/helper/ccnx-app-helper.h b/helper/ndn-app-helper.h
similarity index 72%
rename from helper/ccnx-app-helper.h
rename to helper/ndn-app-helper.h
index 3eb1296..1a76c84 100644
--- a/helper/ccnx-app-helper.h
+++ b/helper/ndn-app-helper.h
@@ -18,8 +18,8 @@
* Author: Ilya Moiseenko <iliamo@cs.ucla.edu>
*/
-#ifndef CCNX_APP_HELPER_H
-#define CCNX_APP_HELPER_H
+#ifndef NDN_APP_HELPER_H
+#define NDN_APP_HELPER_H
#include "ns3/object-factory.h"
#include "ns3/attribute.h"
@@ -31,19 +31,19 @@
{
/**
- * \brief A helper to make it easier to instantiate an ns3::CcnxConsumer Application
+ * \brief A helper to make it easier to instantiate an ns3::NdnConsumer Application
* on a set of nodes.
*/
-class CcnxAppHelper
+class NdnAppHelper
{
public:
/**
- * \brief Create an CcnxAppHelper to make it easier to work with CCNx apps
+ * \brief Create an NdnAppHelper to make it easier to work with Ndn apps
*
* \param app Class of the application
*/
- CcnxAppHelper (const std::string &prefix);
+ NdnAppHelper (const std::string &prefix);
/**
* @brief Set the prefix consumer will be requesting
@@ -60,29 +60,29 @@
void SetAttribute (std::string name, const AttributeValue &value);
/**
- * Install an ns3::CcnxConsumer on each node of the input container
+ * Install an ns3::NdnConsumer on each node of the input container
* configured with all the attributes set with SetAttribute.
*
- * \param c NodeContainer of the set of nodes on which an CcnxConsumer
+ * \param c NodeContainer of the set of nodes on which an NdnConsumer
* will be installed.
* \returns Container of Ptr to the applications installed.
*/
ApplicationContainer Install (NodeContainer c);
/**
- * Install an ns3::CcnxConsumer on the node configured with all the
+ * Install an ns3::NdnConsumer on the node configured with all the
* attributes set with SetAttribute.
*
- * \param node The node on which an CcnxConsumer will be installed.
+ * \param node The node on which an NdnConsumer will be installed.
* \returns Container of Ptr to the applications installed.
*/
ApplicationContainer Install (Ptr<Node> node);
/**
- * Install an ns3::CcnxConsumer on the node configured with all the
+ * Install an ns3::NdnConsumer on the node configured with all the
* attributes set with SetAttribute.
*
- * \param nodeName The node on which an CcnxConsumer will be installed.
+ * \param nodeName The node on which an NdnConsumer will be installed.
* \returns Container of Ptr to the applications installed.
*/
ApplicationContainer Install (std::string nodeName);
@@ -90,10 +90,10 @@
private:
/**
* \internal
- * Install an ns3::CcnxConsumer on the node configured with all the
+ * Install an ns3::NdnConsumer on the node configured with all the
* attributes set with SetAttribute.
*
- * \param node The node on which an CcnxConsumer will be installed.
+ * \param node The node on which an NdnConsumer will be installed.
* \returns Ptr to the application installed.
*/
Ptr<Application> InstallPriv (Ptr<Node> node);
@@ -102,5 +102,5 @@
} // namespace ns3
-#endif // CCNX_APP_HELPER_H
+#endif // NDN_APP_HELPER_H
diff --git a/helper/ccnx-decoding-helper.cc b/helper/ndn-decoding-helper.cc
similarity index 84%
rename from helper/ccnx-decoding-helper.cc
rename to helper/ndn-decoding-helper.cc
index 6d1d7c8..4e5e6b8 100644
--- a/helper/ccnx-decoding-helper.cc
+++ b/helper/ndn-decoding-helper.cc
@@ -18,9 +18,9 @@
* Author: Alexander Afanasyev <alexander.afanasyev@ucla.edu>
*/
-#include "ccnx-decoding-helper.h"
+#include "ndn-decoding-helper.h"
-#include "ns3/ccnx-interest-header.h"
+#include "ns3/ndn-interest-header.h"
#include "ccnb-parser/visitors/ccnb-parser-interest-visitor.h"
@@ -29,12 +29,12 @@
#include "ns3/log.h"
-NS_LOG_COMPONENT_DEFINE ("CcnxDecodingHelper");
+NS_LOG_COMPONENT_DEFINE ("NdnDecodingHelper");
namespace ns3 {
size_t
-CcnxDecodingHelper::Deserialize (Buffer::Iterator start, CcnxInterestHeader &interest)
+NdnDecodingHelper::Deserialize (Buffer::Iterator start, NdnInterestHeader &interest)
{
static CcnbParser::InterestVisitor interestVisitor;
@@ -46,7 +46,7 @@
}
// size_t
-// CcnxDecodingHelper::Deserialize (Buffer::Iterator start, CcnxContentObjectHeader &contentObject)
+// NdnDecodingHelper::Deserialize (Buffer::Iterator start, NdnContentObjectHeader &contentObject)
// {
// static CcnbParser::ContentObjectVisitor contentObjectVisitor;
diff --git a/helper/ndn-decoding-helper.h b/helper/ndn-decoding-helper.h
new file mode 100644
index 0000000..f6ab9fa
--- /dev/null
+++ b/helper/ndn-decoding-helper.h
@@ -0,0 +1,58 @@
+/* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil -*- */
+/*
+ * Copyright (c) 2011 University of California, Los Angeles
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation;
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ * Author: Alexander Afanasyev <alexander.afanasyev@ucla.edu>
+ */
+
+#ifndef _NDN_DECODING_HELPER_H_
+#define _NDN_DECODING_HELPER_H_
+
+#include <cstring>
+#include "ns3/buffer.h"
+
+namespace ns3 {
+
+class NdnInterestHeader;
+class NdnContentObjectHeader;
+
+/**
+ * \brief Helper class to decode ccnb formatted Ndn message
+ */
+class NdnDecodingHelper
+{
+public:
+ /**
+ * \brief Deserialize Buffer::Iterator to NdnInterestHeader
+ * @param start Buffer containing serialized Ndn message
+ * @param interest Pointer to the NdnInterestHeader to hold deserialized value
+ * @return Number of bytes used for deserialization
+ */
+ static size_t
+ Deserialize (Buffer::Iterator start, NdnInterestHeader &interest);
+
+ /**
+ * \brief Deserialize Buffer::Iterator to NdnContentObjectHeader
+ * @param start Buffer containing serialized Ndn message
+ * @param contentObject Pointer to the NdnContentObjectHeader to hold deserialized value
+ * @return Number of bytes used for deserialization
+ */
+ static size_t
+ Deserialize (Buffer::Iterator start, NdnContentObjectHeader &contentObject);
+};
+} // namespace ns3
+
+#endif // _NDN_DECODING_HELPER_H_
diff --git a/helper/ccnx-encoding-helper.cc b/helper/ndn-encoding-helper.cc
similarity index 88%
rename from helper/ccnx-encoding-helper.cc
rename to helper/ndn-encoding-helper.cc
index acb3966..200072b 100644
--- a/helper/ccnx-encoding-helper.cc
+++ b/helper/ndn-encoding-helper.cc
@@ -18,11 +18,11 @@
* Author: Alexander Afanasyev <alexander.afanasyev@ucla.edu>
*/
-#include "ccnx-encoding-helper.h"
+#include "ndn-encoding-helper.h"
-#include "ns3/ccnx-name-components.h"
-#include "ns3/ccnx-interest-header.h"
-#include "ns3/ccnx-content-object-header.h"
+#include "ns3/ndn-name-components.h"
+#include "ns3/ndn-interest-header.h"
+#include "ns3/ndn-content-object-header.h"
#include <sstream>
#include <boost/foreach.hpp>
@@ -30,7 +30,7 @@
namespace ns3 {
size_t
-CcnxEncodingHelper::Serialize (Buffer::Iterator start, const CcnxInterestHeader &interest)
+NdnEncodingHelper::Serialize (Buffer::Iterator start, const NdnInterestHeader &interest)
{
size_t written = 0;
written += AppendBlockHeader (start, CcnbParser::CCN_DTAG_Interest, CcnbParser::CCN_DTAG); // <Interest>
@@ -99,7 +99,7 @@
}
size_t
-CcnxEncodingHelper::GetSerializedSize (const CcnxInterestHeader &interest)
+NdnEncodingHelper::GetSerializedSize (const NdnInterestHeader &interest)
{
size_t written = 0;
written += EstimateBlockHeader (CcnbParser::CCN_DTAG_Interest); // <Interest>
@@ -176,7 +176,7 @@
#define CCN_TT_HBIT ((unsigned char)(1 << 7))
size_t
-CcnxEncodingHelper::AppendBlockHeader (Buffer::Iterator &start, size_t val, CcnbParser::ccn_tt tt)
+NdnEncodingHelper::AppendBlockHeader (Buffer::Iterator &start, size_t val, CcnbParser::ccn_tt tt)
{
unsigned char buf[1+8*((sizeof(val)+6)/7)];
unsigned char *p = &(buf[sizeof(buf)-1]);
@@ -195,7 +195,7 @@
}
size_t
-CcnxEncodingHelper::EstimateBlockHeader (size_t value)
+NdnEncodingHelper::EstimateBlockHeader (size_t value)
{
value >>= (7-CCN_TT_BITS);
size_t n = 1;
@@ -208,7 +208,7 @@
}
size_t
-CcnxEncodingHelper::AppendNumber (Buffer::Iterator &start, uint32_t number)
+NdnEncodingHelper::AppendNumber (Buffer::Iterator &start, uint32_t number)
{
std::ostringstream os;
os << number;
@@ -222,7 +222,7 @@
}
size_t
-CcnxEncodingHelper::EstimateNumber (uint32_t number)
+NdnEncodingHelper::EstimateNumber (uint32_t number)
{
std::ostringstream os;
os << number;
@@ -230,14 +230,14 @@
}
size_t
-CcnxEncodingHelper::AppendCloser (Buffer::Iterator &start)
+NdnEncodingHelper::AppendCloser (Buffer::Iterator &start)
{
start.WriteU8 (CcnbParser::CCN_CLOSE);
return 1;
}
size_t
-CcnxEncodingHelper::AppendNameComponents (Buffer::Iterator &start, const CcnxNameComponents &name)
+NdnEncodingHelper::AppendNameComponents (Buffer::Iterator &start, const NdnNameComponents &name)
{
size_t written = 0;
BOOST_FOREACH (const std::string &component, name.GetComponents())
@@ -249,7 +249,7 @@
}
size_t
-CcnxEncodingHelper::EstimateNameComponents (const CcnxNameComponents &name)
+NdnEncodingHelper::EstimateNameComponents (const NdnNameComponents &name)
{
size_t written = 0;
BOOST_FOREACH (const std::string &component, name.GetComponents())
@@ -260,7 +260,7 @@
}
size_t
-CcnxEncodingHelper::AppendTimestampBlob (Buffer::Iterator &start, const Time &time)
+NdnEncodingHelper::AppendTimestampBlob (Buffer::Iterator &start, const Time &time)
{
// the original function implements Markers... thought not sure what are these markers for...
@@ -287,7 +287,7 @@
}
size_t
-CcnxEncodingHelper::EstimateTimestampBlob (const Time &time)
+NdnEncodingHelper::EstimateTimestampBlob (const Time &time)
{
int required_bytes = 2; // 12 bits for fractions of a second, 4 bits left for seconds. Sometimes it is enough
intmax_t ts = time.ToInteger (Time::S) >> 4;
@@ -298,7 +298,7 @@
}
size_t
-CcnxEncodingHelper::AppendTaggedBlob (Buffer::Iterator &start, CcnbParser::ccn_dtag dtag,
+NdnEncodingHelper::AppendTaggedBlob (Buffer::Iterator &start, CcnbParser::ccn_dtag dtag,
const uint8_t *data, size_t size)
{
size_t written = AppendBlockHeader (start, dtag, CcnbParser::CCN_DTAG);
@@ -317,7 +317,7 @@
}
size_t
-CcnxEncodingHelper::EstimateTaggedBlob (CcnbParser::ccn_dtag dtag, size_t size)
+NdnEncodingHelper::EstimateTaggedBlob (CcnbParser::ccn_dtag dtag, size_t size)
{
if (size>0)
return EstimateBlockHeader (dtag) + EstimateBlockHeader (size) + size + 1;
@@ -326,7 +326,7 @@
}
size_t
-CcnxEncodingHelper::AppendString (Buffer::Iterator &start, CcnbParser::ccn_dtag dtag,
+NdnEncodingHelper::AppendString (Buffer::Iterator &start, CcnbParser::ccn_dtag dtag,
const std::string &string)
{
size_t written = AppendBlockHeader (start, dtag, CcnbParser::CCN_DTAG);
@@ -341,7 +341,7 @@
}
size_t
-CcnxEncodingHelper::EstimateString (CcnbParser::ccn_dtag dtag, const std::string &string)
+NdnEncodingHelper::EstimateString (CcnbParser::ccn_dtag dtag, const std::string &string)
{
return EstimateBlockHeader (dtag) + EstimateBlockHeader (string.size ()) + string.size () + 1;
}
diff --git a/helper/ccnx-encoding-helper.h b/helper/ndn-encoding-helper.h
similarity index 77%
rename from helper/ccnx-encoding-helper.h
rename to helper/ndn-encoding-helper.h
index 45fdc84..90b3f57 100644
--- a/helper/ccnx-encoding-helper.h
+++ b/helper/ndn-encoding-helper.h
@@ -18,8 +18,8 @@
* Author: Alexander Afanasyev <alexander.afanasyev@ucla.edu>
*/
-#ifndef _CCNX_ENCODING_HELPER_H_
-#define _CCNX_ENCODING_HELPER_H_
+#ifndef _NDN_ENCODING_HELPER_H_
+#define _NDN_ENCODING_HELPER_H_
#include <sys/types.h>
@@ -30,38 +30,38 @@
namespace ns3 {
-class CcnxNameComponents;
+class NdnNameComponents;
-class CcnxInterestHeader;
-class CcnxContentObjectHeader;
+class NdnInterestHeader;
+class NdnContentObjectHeader;
/**
- * \brief Helper to encode/decode ccnb formatted CCNx message
+ * \brief Helper to encode/decode ccnb formatted Ndn message
*/
-class CcnxEncodingHelper
+class NdnEncodingHelper
{
public:
/**
- * \brief Serialize CcnxInterestHeader to Buffer::Iterator
- * @param start Buffer to store serialized CcnxInterestHeader
- * @param interest Pointer to CcnxInterestHeader to be serialized
- * @return length of serialized CcnxInterestHeader
+ * \brief Serialize NdnInterestHeader to Buffer::Iterator
+ * @param start Buffer to store serialized NdnInterestHeader
+ * @param interest Pointer to NdnInterestHeader to be serialized
+ * @return length of serialized NdnInterestHeader
*/
static size_t
- Serialize (Buffer::Iterator start, const CcnxInterestHeader &interest);
+ Serialize (Buffer::Iterator start, const NdnInterestHeader &interest);
/**
- * \brief Compute the size of serialized CcnxInterestHeader
- * @param interest Pointer to CcnxInterestHeader
+ * \brief Compute the size of serialized NdnInterestHeader
+ * @param interest Pointer to NdnInterestHeader
* @return length
*/
static size_t
- GetSerializedSize (const CcnxInterestHeader &interest);
+ GetSerializedSize (const NdnInterestHeader &interest);
public:
/**
* @brief Append CCNB block header
- * @param start Buffer to store serialized CcnxInterestHeader
+ * @param start Buffer to store serialized NdnInterestHeader
* @param value dictionary id of the block header
* @param block_type Type of CCNB block
*
@@ -80,7 +80,7 @@
/**
* @brief Add number in CCNB encoding
- * @param start Buffer to store serialized CcnxInterestHeader
+ * @param start Buffer to store serialized NdnInterestHeader
* @param number Number to be written
*
* @returns written length
@@ -98,7 +98,7 @@
/**
* @brief Append CCNB closer tag (estimated size is 1)
- * @param start Buffer to store serialized CcnxInterestHeader
+ * @param start Buffer to store serialized NdnInterestHeader
*
* @returns written length
*/
@@ -106,22 +106,22 @@
AppendCloser (Buffer::Iterator &start);
/**
- * @brief Append CcnxNameComponents in CCNB encoding
- * @param start Buffer to store serialized CcnxInterestHeader
- * @param name constant reference to CcnxNameComponents object
+ * @brief Append NdnNameComponents in CCNB encoding
+ * @param start Buffer to store serialized NdnInterestHeader
+ * @param name constant reference to NdnNameComponents object
*
* @returns written length
*/
static size_t
- AppendNameComponents (Buffer::Iterator &start, const CcnxNameComponents &name);
+ AppendNameComponents (Buffer::Iterator &start, const NdnNameComponents &name);
/**
- * @brief Estimate size of CcnxNameComponents in CCNB encoding
- * @param name constant reference to CcnxNameComponents object
+ * @brief Estimate size of NdnNameComponents in CCNB encoding
+ * @param name constant reference to NdnNameComponents object
* @returns estimated length
*/
static size_t
- EstimateNameComponents (const CcnxNameComponents &name);
+ EstimateNameComponents (const NdnNameComponents &name);
/**
* Append a binary timestamp as a BLOB using the ccn binary
@@ -213,12 +213,12 @@
template<class T>
size_t
-CcnxEncodingHelper::AppendTaggedBlob (Buffer::Iterator &start, CcnbParser::ccn_dtag dtag, const T &data)
+NdnEncodingHelper::AppendTaggedBlob (Buffer::Iterator &start, CcnbParser::ccn_dtag dtag, const T &data)
{
return AppendTaggedBlob (start, dtag, reinterpret_cast<const uint8_t*> (&data), sizeof (data));
}
} // namespace ns3
-#endif // _CCNX_ENCODING_HELPER_H_
+#endif // _NDN_ENCODING_HELPER_H_
diff --git a/helper/ccnx-face-container.cc b/helper/ndn-face-container.cc
similarity index 67%
rename from helper/ccnx-face-container.cc
rename to helper/ndn-face-container.cc
index 8a7a9e2..2e0ec33 100644
--- a/helper/ccnx-face-container.cc
+++ b/helper/ndn-face-container.cc
@@ -18,25 +18,25 @@
* Author: Alexander Afanasyev <alexander.afanasyev@ucla.edu>
*/
-#include "ccnx-face-container.h"
+#include "ndn-face-container.h"
#include <algorithm>
-#include "ns3/ccnx-face.h"
+#include "ns3/ndn-face.h"
namespace ns3 {
-CcnxFaceContainer::CcnxFaceContainer ()
+NdnFaceContainer::NdnFaceContainer ()
{
}
-CcnxFaceContainer::CcnxFaceContainer (const CcnxFaceContainer &other)
+NdnFaceContainer::NdnFaceContainer (const NdnFaceContainer &other)
{
AddAll (other);
}
-CcnxFaceContainer&
-CcnxFaceContainer::operator= (const CcnxFaceContainer &other)
+NdnFaceContainer&
+NdnFaceContainer::operator= (const NdnFaceContainer &other)
{
m_faces.clear ();
AddAll (other);
@@ -46,38 +46,38 @@
void
-CcnxFaceContainer::AddAll (Ptr<CcnxFaceContainer> other)
+NdnFaceContainer::AddAll (Ptr<NdnFaceContainer> other)
{
AddAll (*other);
}
void
-CcnxFaceContainer::AddAll (const CcnxFaceContainer &other)
+NdnFaceContainer::AddAll (const NdnFaceContainer &other)
{
m_faces.insert (m_faces.end (),
other.m_faces.begin (), other.m_faces.end ());
}
-CcnxFaceContainer::Iterator
-CcnxFaceContainer::Begin (void) const
+NdnFaceContainer::Iterator
+NdnFaceContainer::Begin (void) const
{
return m_faces.begin ();
}
-CcnxFaceContainer::Iterator
-CcnxFaceContainer::End (void) const
+NdnFaceContainer::Iterator
+NdnFaceContainer::End (void) const
{
return m_faces.end ();
}
uint32_t
-CcnxFaceContainer::GetN (void) const
+NdnFaceContainer::GetN (void) const
{
return m_faces.size ();
}
// void
-// CcnxFaceContainer::SetMetricToAll (uint16_t metric)
+// NdnFaceContainer::SetMetricToAll (uint16_t metric)
// {
// for (FaceContainer::iterator it=m_faces.begin ();
// it != m_faces.end ();
@@ -88,13 +88,13 @@
// }
void
-CcnxFaceContainer::Add (const Ptr<CcnxFace> &face)
+NdnFaceContainer::Add (const Ptr<NdnFace> &face)
{
m_faces.push_back (face);
}
-Ptr<CcnxFace>
-CcnxFaceContainer::Get (CcnxFaceContainer::Iterator i) const
+Ptr<NdnFace>
+NdnFaceContainer::Get (NdnFaceContainer::Iterator i) const
{
return *i;
}
diff --git a/helper/ccnx-face-container.h b/helper/ndn-face-container.h
similarity index 69%
rename from helper/ccnx-face-container.h
rename to helper/ndn-face-container.h
index 39391f8..e1fd4b2 100644
--- a/helper/ccnx-face-container.h
+++ b/helper/ndn-face-container.h
@@ -18,68 +18,68 @@
* Author: Alexander Afanasyev <alexander.afanasyev@ucla.edu>
*/
-#ifndef CCNX_FACE_CONTAINER_H
-#define CCNX_FACE_CONTAINER_H
+#ifndef NDN_FACE_CONTAINER_H
+#define NDN_FACE_CONTAINER_H
#include <stdint.h>
#include <vector>
#include "ns3/ptr.h"
#include "ns3/simple-ref-count.h"
-#include "ns3/ccnx-face.h"
+#include "ns3/ndn-face.h"
namespace ns3 {
/**
- * \ingroup ccnx-helpers
- * \brief A pool for CCNx faces
+ * \ingroup ndn-helpers
+ * \brief A pool for Ndn faces
*
* Provides tools to perform basic manipulation on faces, such as
* setting metrics and states on faces
*
- * \see CcnxStackHelper
+ * \see NdnStackHelper
*/
-class CcnxFaceContainer : public SimpleRefCount<CcnxFaceContainer>
+class NdnFaceContainer : public SimpleRefCount<NdnFaceContainer>
{
private:
- typedef std::vector<Ptr<CcnxFace> > FaceContainer;
+ typedef std::vector<Ptr<NdnFace> > FaceContainer;
public:
- typedef FaceContainer::const_iterator Iterator; ///< \brief Iterator over CcnxFaceContainer
+ typedef FaceContainer::const_iterator Iterator; ///< \brief Iterator over NdnFaceContainer
/**
- * \brief Create an empty CcnxFaceContainer.
+ * \brief Create an empty NdnFaceContainer.
*/
- CcnxFaceContainer ();
+ NdnFaceContainer ();
/**
- * \brief Copy constructor for CcnxFaceContainer. Calls AddAll method
+ * \brief Copy constructor for NdnFaceContainer. Calls AddAll method
*
- * \see CcnxFaceContainer::AddAll
+ * \see NdnFaceContainer::AddAll
*/
- CcnxFaceContainer (const CcnxFaceContainer &other);
+ NdnFaceContainer (const NdnFaceContainer &other);
/**
- * \brief Copy operator for CcnxFaceContainer. Empties vector and calls AddAll method
+ * \brief Copy operator for NdnFaceContainer. Empties vector and calls AddAll method
*
* All previously obtained iterators (Begin() and End()) will be invalidated
*
- * \see CcnxFaceContainer::AddAll
+ * \see NdnFaceContainer::AddAll
*/
- CcnxFaceContainer& operator= (const CcnxFaceContainer &other);
+ NdnFaceContainer& operator= (const NdnFaceContainer &other);
/**
* \brief Add all entries from other container
*
* \param other smart pointer to a container
*/
- void AddAll (Ptr<CcnxFaceContainer> other);
+ void AddAll (Ptr<NdnFaceContainer> other);
/**
* \brief Add all entries from other container
*
* \param other container
*/
- void AddAll (const CcnxFaceContainer &other);
+ void AddAll (const NdnFaceContainer &other);
/**
* \brief Get an iterator which refers to the first pair in the
@@ -114,22 +114,22 @@
/**
* Add an entry to the container
*
- * \param face a smart pointer to a CcnxFace-derived object
+ * \param face a smart pointer to a NdnFace-derived object
*
- * @see CcnxFace
+ * @see NdnFace
*/
- void Add (const Ptr<CcnxFace> &face);
+ void Add (const Ptr<NdnFace> &face);
/**
- * Get a smart pointer to CcnxFace-derived object stored in the container
+ * Get a smart pointer to NdnFace-derived object stored in the container
*
* \param i the iterator corresponding to the requested object
*
* This method is redundant and simple dereferencing of the iterator should be used instead
*
- * @see CcnxFace
+ * @see NdnFace
*/
- Ptr<CcnxFace> Get (Iterator i) const;
+ Ptr<NdnFace> Get (Iterator i) const;
private:
FaceContainer m_faces;
@@ -137,4 +137,4 @@
} // namespace ns3
-#endif /* CCNX_FACE_CONTAINER_H */
+#endif /* NDN_FACE_CONTAINER_H */
diff --git a/helper/ccnx-global-routing-helper.cc b/helper/ndn-global-routing-helper.cc
similarity index 67%
rename from helper/ccnx-global-routing-helper.cc
rename to helper/ndn-global-routing-helper.cc
index 908937e..c3c9968 100644
--- a/helper/ccnx-global-routing-helper.cc
+++ b/helper/ndn-global-routing-helper.cc
@@ -18,13 +18,13 @@
* Author: Alexander Afanasyev <alexander.afanasyev@ucla.edu>
*/
-#include "ccnx-global-routing-helper.h"
+#include "ndn-global-routing-helper.h"
-#include "ns3/ccnx.h"
-#include "../model/ccnx-net-device-face.h"
-#include "../model/ccnx-global-router.h"
-#include "ns3/ccnx-name-components.h"
-#include "ns3/ccnx-fib.h"
+#include "ns3/ndn.h"
+#include "../model/ndn-net-device-face.h"
+#include "../model/ndn-global-router.h"
+#include "ns3/ndn-name-components.h"
+#include "ns3/ndn-fib.h"
#include "ns3/node.h"
#include "ns3/node-container.h"
@@ -43,9 +43,9 @@
// #include <boost/graph/adjacency_list.hpp>
#include <boost/graph/dijkstra_shortest_paths.hpp>
-#include "boost-graph-ccnx-global-routing-helper.h"
+#include "boost-graph-ndn-global-routing-helper.h"
-NS_LOG_COMPONENT_DEFINE ("CcnxGlobalRoutingHelper");
+NS_LOG_COMPONENT_DEFINE ("NdnGlobalRoutingHelper");
using namespace std;
using namespace boost;
@@ -53,26 +53,26 @@
namespace ns3 {
void
-CcnxGlobalRoutingHelper::Install (Ptr<Node> node)
+NdnGlobalRoutingHelper::Install (Ptr<Node> node)
{
NS_LOG_LOGIC ("Node: " << node->GetId ());
- Ptr<Ccnx> ccnx = node->GetObject<Ccnx> ();
- NS_ASSERT_MSG (ccnx != 0, "Cannot install CcnxGlobalRoutingHelper before Ccnx is installed on a node");
+ Ptr<Ndn> ndn = node->GetObject<Ndn> ();
+ NS_ASSERT_MSG (ndn != 0, "Cannot install NdnGlobalRoutingHelper before Ndn is installed on a node");
- Ptr<CcnxGlobalRouter> gr = node->GetObject<CcnxGlobalRouter> ();
+ Ptr<NdnGlobalRouter> gr = node->GetObject<NdnGlobalRouter> ();
if (gr != 0)
{
- NS_LOG_DEBUG ("CcnxGlobalRouter is already installed: " << gr);
+ NS_LOG_DEBUG ("NdnGlobalRouter is already installed: " << gr);
return; // already installed
}
- gr = CreateObject<CcnxGlobalRouter> ();
+ gr = CreateObject<NdnGlobalRouter> ();
node->AggregateObject (gr);
- for (uint32_t faceId = 0; faceId < ccnx->GetNFaces (); faceId++)
+ for (uint32_t faceId = 0; faceId < ndn->GetNFaces (); faceId++)
{
- Ptr<CcnxNetDeviceFace> face = DynamicCast<CcnxNetDeviceFace> (ccnx->GetFace (faceId));
+ Ptr<NdnNetDeviceFace> face = DynamicCast<NdnNetDeviceFace> (ndn->GetFace (faceId));
if (face == 0)
{
NS_LOG_DEBUG ("Skipping non-netdevice face");
@@ -82,7 +82,7 @@
Ptr<NetDevice> nd = face->GetNetDevice ();
if (nd == 0)
{
- NS_LOG_DEBUG ("Not a NetDevice associated with CcnxNetDeviceFace");
+ NS_LOG_DEBUG ("Not a NetDevice associated with NdnNetDeviceFace");
continue;
}
@@ -104,24 +104,24 @@
Ptr<Node> otherNode = otherSide->GetNode ();
NS_ASSERT (otherNode != 0);
- Ptr<CcnxGlobalRouter> otherGr = otherNode->GetObject<CcnxGlobalRouter> ();
+ Ptr<NdnGlobalRouter> otherGr = otherNode->GetObject<NdnGlobalRouter> ();
if (otherGr == 0)
{
Install (otherNode);
}
- otherGr = otherNode->GetObject<CcnxGlobalRouter> ();
+ otherGr = otherNode->GetObject<NdnGlobalRouter> ();
NS_ASSERT (otherGr != 0);
gr->AddIncidency (face, otherGr);
}
}
else
{
- Ptr<CcnxGlobalRouter> grChannel = ch->GetObject<CcnxGlobalRouter> ();
+ Ptr<NdnGlobalRouter> grChannel = ch->GetObject<NdnGlobalRouter> ();
if (grChannel == 0)
{
Install (ch);
}
- grChannel = ch->GetObject<CcnxGlobalRouter> ();
+ grChannel = ch->GetObject<NdnGlobalRouter> ();
gr->AddIncidency (0, grChannel);
}
@@ -129,15 +129,15 @@
}
void
-CcnxGlobalRoutingHelper::Install (Ptr<Channel> channel)
+NdnGlobalRoutingHelper::Install (Ptr<Channel> channel)
{
NS_LOG_LOGIC ("Channel: " << channel->GetId ());
- Ptr<CcnxGlobalRouter> gr = channel->GetObject<CcnxGlobalRouter> ();
+ Ptr<NdnGlobalRouter> gr = channel->GetObject<NdnGlobalRouter> ();
if (gr != 0)
return;
- gr = CreateObject<CcnxGlobalRouter> ();
+ gr = CreateObject<NdnGlobalRouter> ();
channel->AggregateObject (gr);
for (uint32_t deviceId = 0; deviceId < channel->GetNDevices (); deviceId ++)
@@ -147,12 +147,12 @@
Ptr<Node> node = dev->GetNode ();
NS_ASSERT (node != 0);
- Ptr<CcnxGlobalRouter> grOther = node->GetObject<CcnxGlobalRouter> ();
+ Ptr<NdnGlobalRouter> grOther = node->GetObject<NdnGlobalRouter> ();
if (grOther == 0)
{
Install (node);
}
- grOther = node->GetObject<CcnxGlobalRouter> ();
+ grOther = node->GetObject<NdnGlobalRouter> ();
NS_ASSERT (grOther != 0);
gr->AddIncidency (0, grOther);
@@ -160,7 +160,7 @@
}
void
-CcnxGlobalRoutingHelper::Install (const NodeContainer &nodes)
+NdnGlobalRoutingHelper::Install (const NodeContainer &nodes)
{
for (NodeContainer::Iterator node = nodes.Begin ();
node != nodes.End ();
@@ -171,25 +171,25 @@
}
void
-CcnxGlobalRoutingHelper::InstallAll ()
+NdnGlobalRoutingHelper::InstallAll ()
{
Install (NodeContainer::GetGlobal ());
}
void
-CcnxGlobalRoutingHelper::AddOrigin (const std::string &prefix, Ptr<Node> node)
+NdnGlobalRoutingHelper::AddOrigin (const std::string &prefix, Ptr<Node> node)
{
- Ptr<CcnxGlobalRouter> gr = node->GetObject<CcnxGlobalRouter> ();
+ Ptr<NdnGlobalRouter> gr = node->GetObject<NdnGlobalRouter> ();
NS_ASSERT_MSG (gr != 0,
- "CcnxGlobalRouter is not installed on the node");
+ "NdnGlobalRouter is not installed on the node");
- Ptr<CcnxNameComponents> name = Create<CcnxNameComponents> (boost::lexical_cast<CcnxNameComponents> (prefix));
+ Ptr<NdnNameComponents> name = Create<NdnNameComponents> (boost::lexical_cast<NdnNameComponents> (prefix));
gr->AddLocalPrefix (name);
}
void
-CcnxGlobalRoutingHelper::AddOrigins (const std::string &prefix, const NodeContainer &nodes)
+NdnGlobalRoutingHelper::AddOrigins (const std::string &prefix, const NodeContainer &nodes)
{
for (NodeContainer::Iterator node = nodes.Begin ();
node != nodes.End ();
@@ -200,7 +200,7 @@
}
void
-CcnxGlobalRoutingHelper::AddOrigin (const std::string &prefix, const std::string &nodeName)
+NdnGlobalRoutingHelper::AddOrigin (const std::string &prefix, const std::string &nodeName)
{
Ptr<Node> node = Names::Find<Node> (nodeName);
NS_ASSERT_MSG (node != 0, nodeName << "is not a Node");
@@ -209,28 +209,28 @@
}
void
-CcnxGlobalRoutingHelper::CalculateRoutes ()
+NdnGlobalRoutingHelper::CalculateRoutes ()
{
/**
* Implementation of route calculation is heavily based on Boost Graph Library
* See http://www.boost.org/doc/libs/1_49_0/libs/graph/doc/table_of_contents.html for more details
*/
- BOOST_CONCEPT_ASSERT(( VertexListGraphConcept< CcnxGlobalRouterGraph > ));
- BOOST_CONCEPT_ASSERT(( IncidenceGraphConcept< CcnxGlobalRouterGraph > ));
+ BOOST_CONCEPT_ASSERT(( VertexListGraphConcept< NdnGlobalRouterGraph > ));
+ BOOST_CONCEPT_ASSERT(( IncidenceGraphConcept< NdnGlobalRouterGraph > ));
- CcnxGlobalRouterGraph graph;
- typedef graph_traits < CcnxGlobalRouterGraph >::vertex_descriptor vertex_descriptor;
+ NdnGlobalRouterGraph graph;
+ typedef graph_traits < NdnGlobalRouterGraph >::vertex_descriptor vertex_descriptor;
// For now we doing Dijkstra for every node. Can be replaced with Bellman-Ford or Floyd-Warshall.
// Other algorithms should be faster, but they need additional EdgeListGraph concept provided by the graph, which
// is not obviously how implement in an efficient manner
for (NodeList::Iterator node = NodeList::Begin (); node != NodeList::End (); node++)
{
- Ptr<CcnxGlobalRouter> source = (*node)->GetObject<CcnxGlobalRouter> ();
+ Ptr<NdnGlobalRouter> source = (*node)->GetObject<NdnGlobalRouter> ();
if (source == 0)
{
- NS_LOG_DEBUG ("Node " << (*node)->GetId () << " does not export CcnxGlobalRouter interface");
+ NS_LOG_DEBUG ("Node " << (*node)->GetId () << " does not export NdnGlobalRouter interface");
continue;
}
@@ -252,7 +252,7 @@
// NS_LOG_DEBUG (predecessors.size () << ", " << distances.size ());
- Ptr<CcnxFib> fib = source->GetObject<CcnxFib> ();
+ Ptr<NdnFib> fib = source->GetObject<NdnFib> ();
fib->InvalidateAll ();
NS_ASSERT (fib != 0);
@@ -275,7 +275,7 @@
// cout << " reachable via face " << *i->second.get<0> ()
// << " with distance " << i->second.get<1> () << endl;
- BOOST_FOREACH (const Ptr<const CcnxNameComponents> &prefix, i->first->GetLocalPrefixes ())
+ BOOST_FOREACH (const Ptr<const NdnNameComponents> &prefix, i->first->GetLocalPrefixes ())
{
fib->Add (prefix, i->second.get<0> (), i->second.get<1> ());
}
diff --git a/helper/ccnx-global-routing-helper.h b/helper/ndn-global-routing-helper.h
similarity index 75%
rename from helper/ccnx-global-routing-helper.h
rename to helper/ndn-global-routing-helper.h
index 1bf4b59..ac92641 100644
--- a/helper/ccnx-global-routing-helper.h
+++ b/helper/ndn-global-routing-helper.h
@@ -18,8 +18,8 @@
* Author: Alexander Afanasyev <alexander.afanasyev@ucla.edu>
*/
-#ifndef CCNX_GLOBAL_ROUTING_HELPER_H
-#define CCNX_GLOBAL_ROUTING_HELPER_H
+#ifndef NDN_GLOBAL_ROUTING_HELPER_H
+#define NDN_GLOBAL_ROUTING_HELPER_H
#include "ns3/ptr.h"
@@ -30,35 +30,35 @@
class Channel;
/**
- * @ingroup ccnx
- * @brief Helper for CcnxGlobalRouter interface
+ * @ingroup ndn
+ * @brief Helper for NdnGlobalRouter interface
*/
-class CcnxGlobalRoutingHelper
+class NdnGlobalRoutingHelper
{
public:
/**
- * @brief Install CcnxGlobalRouter interface on a node
+ * @brief Install NdnGlobalRouter interface on a node
*
- * Note that CcnxGlobalRouter will also be installed on all connected nodes and channels
+ * Note that NdnGlobalRouter will also be installed on all connected nodes and channels
*
- * @param node Node to install CcnxGlobalRouter interface
+ * @param node Node to install NdnGlobalRouter interface
*/
void
Install (Ptr<Node> node);
/**
- * @brief Install CcnxGlobalRouter interface on nodes
+ * @brief Install NdnGlobalRouter interface on nodes
*
- * Note that CcnxGlobalRouter will also be installed on all connected nodes and channels
+ * Note that NdnGlobalRouter will also be installed on all connected nodes and channels
*
- * @param nodes NodeContainer to install CcnxGlobalRouter interface
+ * @param nodes NodeContainer to install NdnGlobalRouter interface
*/
void
Install (const NodeContainer &nodes);
/**
- * @brief Install CcnxGlobalRouter interface on all nodes
+ * @brief Install NdnGlobalRouter interface on all nodes
*/
void
InstallAll ();
@@ -100,4 +100,4 @@
}
-#endif // CCNX_GLOBAL_ROUTING_HELPER_H
+#endif // NDN_GLOBAL_ROUTING_HELPER_H
diff --git a/helper/ccnx-header-helper.cc b/helper/ndn-header-helper.cc
similarity index 75%
rename from helper/ccnx-header-helper.cc
rename to helper/ndn-header-helper.cc
index d3a3400..58f8dde 100644
--- a/helper/ccnx-header-helper.cc
+++ b/helper/ndn-header-helper.cc
@@ -18,43 +18,43 @@
* Author: Alexander Afanasyev <alexander.afanasyev@ucla.edu>
*/
-#include "ccnx-header-helper.h"
+#include "ndn-header-helper.h"
#include "ns3/log.h"
#include "ns3/packet.h"
#include "ns3/header.h"
#include "ns3/object.h"
-#include "ns3/ccnx-interest-header.h"
-#include "ns3/ccnx-content-object-header.h"
+#include "ns3/ndn-interest-header.h"
+#include "ns3/ndn-content-object-header.h"
#include <iomanip>
-NS_LOG_COMPONENT_DEFINE ("CcnxHeaderHelper");
+NS_LOG_COMPONENT_DEFINE ("NdnHeaderHelper");
namespace ns3
{
-CcnxHeaderHelper::Type
-CcnxHeaderHelper::GetCcnxHeaderType (Ptr<const Packet> packet)
+NdnHeaderHelper::Type
+NdnHeaderHelper::GetNdnHeaderType (Ptr<const Packet> packet)
{
uint8_t type[2];
uint32_t read=packet->CopyData (type,2);
- if (read!=2) throw CcnxUnknownHeaderException();
+ if (read!=2) throw NdnUnknownHeaderException();
NS_LOG_DEBUG (*packet);
if (type[0] == INTEREST_BYTE0 && type[1] == INTEREST_BYTE1)
{
- return CcnxHeaderHelper::INTEREST;
+ return NdnHeaderHelper::INTEREST;
}
else if (type[0] == CONTENT_OBJECT_BYTE0 && type[1] == CONTENT_OBJECT_BYTE1)
{
- return CcnxHeaderHelper::CONTENT_OBJECT;
+ return NdnHeaderHelper::CONTENT_OBJECT;
}
NS_LOG_DEBUG (*packet);
- throw CcnxUnknownHeaderException();
+ throw NdnUnknownHeaderException();
}
} // namespace ns3
diff --git a/helper/ccnx-header-helper.h b/helper/ndn-header-helper.h
similarity index 68%
rename from helper/ccnx-header-helper.h
rename to helper/ndn-header-helper.h
index 7a23c6d..7f2e111 100644
--- a/helper/ccnx-header-helper.h
+++ b/helper/ndn-header-helper.h
@@ -18,8 +18,8 @@
* Author: Alexander Afanasyev <alexander.afanasyev@ucla.edu>
*/
-#ifndef _CCNX_HEADER_HELPER_H_
-#define _CCNX_HEADER_HELPER_H_
+#ifndef _NDN_HEADER_HELPER_H_
+#define _NDN_HEADER_HELPER_H_
#include "ns3/ptr.h"
@@ -36,27 +36,27 @@
class Packet;
/**
- * \ingroup ccnx-helpers
+ * \ingroup ndn-helpers
*
- * \brief Class implementing functionality to detect CCNx packet type and
+ * \brief Class implementing functionality to detect Ndn packet type and
* create the corresponding object
*
- * CCNx doesn't really have a header, so we need this class to
- * determine type of CCNx packet and return corresponent header class,
- * CcnxInterestHeader or CcnxContentObjectHeader
+ * Ndn doesn't really have a header, so we need this class to
+ * determine type of Ndn packet and return corresponent header class,
+ * NdnInterestHeader or NdnContentObjectHeader
*
- * Throws CcnxUnknownHeaderException if header type couldn't be determined
+ * Throws NdnUnknownHeaderException if header type couldn't be determined
*/
-class CcnxHeaderHelper
+class NdnHeaderHelper
{
public:
/**
- @brief enum for Ccnx packet types
+ @brief enum for Ndn packet types
*/
enum Type {INTEREST, CONTENT_OBJECT};
/**
- * Static function to create an appropriate CCNx header
+ * Static function to create an appropriate Ndn header
*
* It peeks first 2 bytes of a packet.
*
@@ -73,24 +73,24 @@
* | |
* terminator DTAG (Dictionary TAG)
*
- * \see http://www.ccnx.org/releases/latest/doc/technical/BinaryEncoding.html
+ * \see http://www.ndn.org/releases/latest/doc/technical/BinaryEncoding.html
*/
static Type
- GetCcnxHeaderType (Ptr<const Packet> packet);
+ GetNdnHeaderType (Ptr<const Packet> packet);
};
/**
- * \ingroup ccnx
- * \defgroup ccnx-exceptions Exceptions
+ * \ingroup ndn
+ * \defgroup ndn-exceptions Exceptions
*/
/**
- * \ingroup ccnx-exceptions
- * \brief Exception thrown if CCNx stack receives unrecognized
+ * \ingroup ndn-exceptions
+ * \brief Exception thrown if Ndn stack receives unrecognized
* message type
*/
-class CcnxUnknownHeaderException {};
+class NdnUnknownHeaderException {};
} // namespace ns3
-#endif // _CCNX_HEADER_HELPER_H_
+#endif // _NDN_HEADER_HELPER_H_
diff --git a/helper/ccnx-stack-helper.cc b/helper/ndn-stack-helper.cc
similarity index 71%
rename from helper/ccnx-stack-helper.cc
rename to helper/ndn-stack-helper.cc
index e178d18..6b0a022 100644
--- a/helper/ccnx-stack-helper.cc
+++ b/helper/ndn-stack-helper.cc
@@ -34,65 +34,65 @@
#include "ns3/point-to-point-net-device.h"
#include "ns3/point-to-point-helper.h"
-#include "../model/ccnx-net-device-face.h"
-#include "../model/ccnx-l3-protocol.h"
+#include "../model/ndn-net-device-face.h"
+#include "../model/ndn-l3-protocol.h"
-#include "ns3/ccnx-forwarding-strategy.h"
-#include "ns3/ccnx-fib.h"
-#include "ns3/ccnx-pit.h"
-#include "ns3/ccnx-name-components.h"
-#include "ns3/ccnx-content-store.h"
+#include "ns3/ndn-forwarding-strategy.h"
+#include "ns3/ndn-fib.h"
+#include "ns3/ndn-pit.h"
+#include "ns3/ndn-name-components.h"
+#include "ns3/ndn-content-store.h"
#include "ns3/node-list.h"
// #include "ns3/loopback-net-device.h"
#include "ns3/data-rate.h"
-#include "ccnx-face-container.h"
-#include "ccnx-stack-helper.h"
+#include "ndn-face-container.h"
+#include "ndn-stack-helper.h"
#include <limits>
#include <map>
#include <boost/foreach.hpp>
#include <boost/lexical_cast.hpp>
-NS_LOG_COMPONENT_DEFINE ("CcnxStackHelper");
+NS_LOG_COMPONENT_DEFINE ("NdnStackHelper");
namespace ns3 {
-CcnxStackHelper::CcnxStackHelper ()
+NdnStackHelper::NdnStackHelper ()
: m_limitsEnabled (false)
, m_needSetDefaultRoutes (false)
{
- m_ccnxFactory. SetTypeId ("ns3::CcnxL3Protocol");
+ m_ndnFactory. SetTypeId ("ns3::NdnL3Protocol");
m_strategyFactory. SetTypeId ("ns3::ndnSIM::Flooding");
- m_contentStoreFactory.SetTypeId ("ns3::CcnxContentStoreLru");
- m_fibFactory. SetTypeId ("ns3::CcnxFib");
- m_pitFactory. SetTypeId ("ns3::CcnxPit");
+ m_contentStoreFactory.SetTypeId ("ns3::NdnContentStoreLru");
+ m_fibFactory. SetTypeId ("ns3::NdnFib");
+ m_pitFactory. SetTypeId ("ns3::NdnPit");
}
-CcnxStackHelper::~CcnxStackHelper ()
+NdnStackHelper::~NdnStackHelper ()
{
}
void
-CcnxStackHelper::SetCcnxAttributes (const std::string &attr1, const std::string &value1,
+NdnStackHelper::SetNdnAttributes (const std::string &attr1, const std::string &value1,
const std::string &attr2, const std::string &value2,
const std::string &attr3, const std::string &value3,
const std::string &attr4, const std::string &value4)
{
if (attr1 != "")
- m_ccnxFactory.Set (attr1, StringValue (value1));
+ m_ndnFactory.Set (attr1, StringValue (value1));
if (attr2 != "")
- m_ccnxFactory.Set (attr2, StringValue (value2));
+ m_ndnFactory.Set (attr2, StringValue (value2));
if (attr3 != "")
- m_ccnxFactory.Set (attr3, StringValue (value3));
+ m_ndnFactory.Set (attr3, StringValue (value3));
if (attr4 != "")
- m_ccnxFactory.Set (attr4, StringValue (value4));
+ m_ndnFactory.Set (attr4, StringValue (value4));
}
void
-CcnxStackHelper::SetForwardingStrategy (const std::string &strategy,
+NdnStackHelper::SetForwardingStrategy (const std::string &strategy,
const std::string &attr1, const std::string &value1,
const std::string &attr2, const std::string &value2,
const std::string &attr3, const std::string &value3,
@@ -110,7 +110,7 @@
}
void
-CcnxStackHelper::SetContentStore (const std::string &contentStore,
+NdnStackHelper::SetContentStore (const std::string &contentStore,
const std::string &attr1, const std::string &value1,
const std::string &attr2, const std::string &value2,
const std::string &attr3, const std::string &value3,
@@ -128,7 +128,7 @@
}
void
-CcnxStackHelper::SetPit (const std::string &pitClass,
+NdnStackHelper::SetPit (const std::string &pitClass,
const std::string &attr1, const std::string &value1,
const std::string &attr2, const std::string &value2,
const std::string &attr3, const std::string &value3,
@@ -146,7 +146,7 @@
}
void
-CcnxStackHelper::SetFib (const std::string &fibClass,
+NdnStackHelper::SetFib (const std::string &fibClass,
const std::string &attr1, const std::string &value1,
const std::string &attr2, const std::string &value2,
const std::string &attr3, const std::string &value3,
@@ -164,14 +164,14 @@
}
void
-CcnxStackHelper::SetDefaultRoutes (bool needSet)
+NdnStackHelper::SetDefaultRoutes (bool needSet)
{
NS_LOG_FUNCTION (this << needSet);
m_needSetDefaultRoutes = needSet;
}
void
-CcnxStackHelper::EnableLimits (bool enable/* = true*/,
+NdnStackHelper::EnableLimits (bool enable/* = true*/,
Time avgRtt/*=Seconds(0.1)*/,
uint32_t avgContentObject/*=1100*/,
uint32_t avgInterest/*=40*/)
@@ -183,10 +183,10 @@
m_avgInterestSize = avgInterest;
}
-Ptr<CcnxFaceContainer>
-CcnxStackHelper::Install (NodeContainer c) const
+Ptr<NdnFaceContainer>
+NdnStackHelper::Install (NodeContainer c) const
{
- Ptr<CcnxFaceContainer> faces = Create<CcnxFaceContainer> ();
+ Ptr<NdnFaceContainer> faces = Create<NdnFaceContainer> ();
for (NodeContainer::Iterator i = c.Begin (); i != c.End (); ++i)
{
faces->AddAll (Install (*i));
@@ -194,43 +194,43 @@
return faces;
}
-Ptr<CcnxFaceContainer>
-CcnxStackHelper::InstallAll (void) const
+Ptr<NdnFaceContainer>
+NdnStackHelper::InstallAll (void) const
{
return Install (NodeContainer::GetGlobal ());
}
-Ptr<CcnxFaceContainer>
-CcnxStackHelper::Install (Ptr<Node> node) const
+Ptr<NdnFaceContainer>
+NdnStackHelper::Install (Ptr<Node> node) const
{
// NS_ASSERT_MSG (m_forwarding, "SetForwardingHelper() should be set prior calling Install() method");
- Ptr<CcnxFaceContainer> faces = Create<CcnxFaceContainer> ();
+ Ptr<NdnFaceContainer> faces = Create<NdnFaceContainer> ();
- if (node->GetObject<Ccnx> () != 0)
+ if (node->GetObject<Ndn> () != 0)
{
- NS_FATAL_ERROR ("CcnxStackHelper::Install (): Installing "
- "a CcnxStack to a node with an existing Ccnx object");
+ NS_FATAL_ERROR ("NdnStackHelper::Install (): Installing "
+ "a NdnStack to a node with an existing Ndn object");
return 0;
}
- // Create CcnxL3Protocol
- Ptr<Ccnx> ccnx = m_ccnxFactory.Create<Ccnx> ();
+ // Create NdnL3Protocol
+ Ptr<Ndn> ndn = m_ndnFactory.Create<Ndn> ();
// Create and aggregate FIB
- Ptr<CcnxFib> fib = m_fibFactory.Create<CcnxFib> ();
- ccnx->AggregateObject (fib);
+ Ptr<NdnFib> fib = m_fibFactory.Create<NdnFib> ();
+ ndn->AggregateObject (fib);
// Create and aggregate PIT
- ccnx->AggregateObject (m_pitFactory.Create<CcnxPit> ());
+ ndn->AggregateObject (m_pitFactory.Create<NdnPit> ());
// Create and aggregate forwarding strategy
- ccnx->AggregateObject (m_strategyFactory.Create<CcnxForwardingStrategy> ());
+ ndn->AggregateObject (m_strategyFactory.Create<NdnForwardingStrategy> ());
// Create and aggregate content store
- ccnx->AggregateObject (m_contentStoreFactory.Create<CcnxContentStore> ());
+ ndn->AggregateObject (m_contentStoreFactory.Create<NdnContentStore> ());
- // Aggregate CcnxL3Protocol on node
- node->AggregateObject (ccnx);
+ // Aggregate NdnL3Protocol on node
+ node->AggregateObject (ndn);
for (uint32_t index=0; index < node->GetNDevices (); index++)
{
@@ -240,10 +240,10 @@
// if (DynamicCast<LoopbackNetDevice> (device) != 0)
// continue; // don't create face for a LoopbackNetDevice
- Ptr<CcnxNetDeviceFace> face = CreateObject<CcnxNetDeviceFace> (node, device);
+ Ptr<NdnNetDeviceFace> face = CreateObject<NdnNetDeviceFace> (node, device);
- ccnx->AddFace (face);
- NS_LOG_LOGIC ("Node " << node->GetId () << ": added CcnxNetDeviceFace as face #" << *face);
+ ndn->AddFace (face);
+ NS_LOG_LOGIC ("Node " << node->GetId () << ": added NdnNetDeviceFace as face #" << *face);
if (m_needSetDefaultRoutes)
{
@@ -282,8 +282,8 @@
return faces;
}
-Ptr<CcnxFaceContainer>
-CcnxStackHelper::Install (std::string nodeName) const
+Ptr<NdnFaceContainer>
+NdnStackHelper::Install (std::string nodeName) const
{
Ptr<Node> node = Names::Find<Node> (nodeName);
return Install (node);
@@ -291,39 +291,39 @@
void
-CcnxStackHelper::AddRoute (Ptr<Node> node, std::string prefix, Ptr<CcnxFace> face, int32_t metric)
+NdnStackHelper::AddRoute (Ptr<Node> node, std::string prefix, Ptr<NdnFace> face, int32_t metric)
{
NS_LOG_LOGIC ("[" << node->GetId () << "]$ route add " << prefix << " via " << *face << " metric " << metric);
- Ptr<CcnxFib> fib = node->GetObject<CcnxFib> ();
+ Ptr<NdnFib> fib = node->GetObject<NdnFib> ();
- CcnxNameComponentsValue prefixValue;
- prefixValue.DeserializeFromString (prefix, MakeCcnxNameComponentsChecker ());
+ NdnNameComponentsValue prefixValue;
+ prefixValue.DeserializeFromString (prefix, MakeNdnNameComponentsChecker ());
fib->Add (prefixValue.Get (), face, metric);
}
void
-CcnxStackHelper::AddRoute (Ptr<Node> node, std::string prefix, uint32_t faceId, int32_t metric)
+NdnStackHelper::AddRoute (Ptr<Node> node, std::string prefix, uint32_t faceId, int32_t metric)
{
- Ptr<Ccnx> ccnx = node->GetObject<Ccnx> ();
- NS_ASSERT_MSG (ccnx != 0, "Ccnx stack should be installed on the node");
+ Ptr<Ndn> ndn = node->GetObject<Ndn> ();
+ NS_ASSERT_MSG (ndn != 0, "Ndn stack should be installed on the node");
- Ptr<CcnxFace> face = ccnx->GetFace (faceId);
+ Ptr<NdnFace> face = ndn->GetFace (faceId);
NS_ASSERT_MSG (face != 0, "Face with ID [" << faceId << "] does not exist on node [" << node->GetId () << "]");
AddRoute (node, prefix, face, metric);
}
void
-CcnxStackHelper::AddRoute (std::string nodeName, std::string prefix, uint32_t faceId, int32_t metric)
+NdnStackHelper::AddRoute (std::string nodeName, std::string prefix, uint32_t faceId, int32_t metric)
{
Ptr<Node> node = Names::Find<Node> (nodeName);
NS_ASSERT_MSG (node != 0, "Node [" << nodeName << "] does not exist");
- Ptr<Ccnx> ccnx = node->GetObject<Ccnx> ();
- NS_ASSERT_MSG (ccnx != 0, "Ccnx stack should be installed on the node");
+ Ptr<Ndn> ndn = node->GetObject<Ndn> ();
+ NS_ASSERT_MSG (ndn != 0, "Ndn stack should be installed on the node");
- Ptr<CcnxFace> face = ccnx->GetFace (faceId);
+ Ptr<NdnFace> face = ndn->GetFace (faceId);
NS_ASSERT_MSG (face != 0, "Face with ID [" << faceId << "] does not exist on node [" << nodeName << "]");
AddRoute (node, prefix, face, metric);
diff --git a/helper/ccnx-stack-helper.h b/helper/ndn-stack-helper.h
similarity index 80%
rename from helper/ccnx-stack-helper.h
rename to helper/ndn-stack-helper.h
index ee0b547..0bd69ad 100644
--- a/helper/ccnx-stack-helper.h
+++ b/helper/ndn-stack-helper.h
@@ -19,8 +19,8 @@
* Ilya Moiseenko <iliamo@cs.ucla.edu>
*/
-#ifndef CCNX_STACK_HELPER_H
-#define CCNX_STACK_HELPER_H
+#ifndef NDN_STACK_HELPER_H
+#define NDN_STACK_HELPER_H
#include "ns3/packet.h"
#include "ns3/ptr.h"
@@ -30,18 +30,18 @@
namespace ns3 {
class Node;
-class CcnxFaceContainer;
-class CcnxFace;
+class NdnFaceContainer;
+class NdnFace;
/**
- * \ingroup ccnx
- * \defgroup ccnx-helpers Helpers
+ * \ingroup ndn
+ * \defgroup ndn-helpers Helpers
*/
/**
- * \ingroup ccnx-helpers
- * \brief Adding CCNx functionality to existing Nodes.
+ * \ingroup ndn-helpers
+ * \brief Adding Ndn functionality to existing Nodes.
*
- * This helper enables pcap and ascii tracing of events in the ccnx stack
+ * This helper enables pcap and ascii tracing of events in the ndn stack
* associated with a node. This is substantially similar to the tracing that
* happens in device helpers, but the important difference is that, well, there
* is no device. This means that the creation of output file names will change,
@@ -49,29 +49,29 @@
* the number of trace enable methods is reduced.
*
* Normally we eschew multiple inheritance, however, the classes
- * PcapUserHelperForCcnx and AsciiTraceUserHelperForCcnx are treated as
+ * PcapUserHelperForNdn and AsciiTraceUserHelperForNdn are treated as
* "mixins". A mixin is a self-contained class that encapsulates a general
* attribute or a set of functionality that may be of interest to many other
* classes.
*/
-class CcnxStackHelper
+class NdnStackHelper
{
public:
/**
- * \brief Create a new CcnxStackHelper with a default NDN_FLOODING forwarding stategy
+ * \brief Create a new NdnStackHelper with a default NDN_FLOODING forwarding stategy
*/
- CcnxStackHelper();
+ NdnStackHelper();
/**
- * \brief Destroy the CcnxStackHelper
+ * \brief Destroy the NdnStackHelper
*/
- virtual ~CcnxStackHelper ();
+ virtual ~NdnStackHelper ();
/**
- * @brief Set parameters of CcnxL3Protocol
+ * @brief Set parameters of NdnL3Protocol
*/
void
- SetCcnxAttributes (const std::string &attr1 = "", const std::string &value1 = "",
+ SetNdnAttributes (const std::string &attr1 = "", const std::string &value1 = "",
const std::string &attr2 = "", const std::string &value2 = "",
const std::string &attr3 = "", const std::string &value3 = "",
const std::string &attr4 = "", const std::string &value4 = "");
@@ -81,9 +81,9 @@
* @brief Set forwarding strategy class and its attributes
* @param forwardingStrategyClass string containing name of the forwarding strategy class
*
- * Valid options are "ns3::CcnxFloodingStrategy" (default) and "ns3::CcnxBestRouteStrategy"
+ * Valid options are "ns3::NdnFloodingStrategy" (default) and "ns3::NdnBestRouteStrategy"
*
- * Other strategies can be implemented, inheriting ns3::CcnxForwardingStrategy class
+ * Other strategies can be implemented, inheriting ns3::NdnForwardingStrategy class
*/
void
SetForwardingStrategy (const std::string &forwardingStrategyClass,
@@ -137,55 +137,55 @@
EnableLimits (bool enable = true, Time avgRtt=Seconds(0.1), uint32_t avgContentObject=1100, uint32_t avgInterest=40);
/**
- * \brief Install CCNx stack on the node
+ * \brief Install Ndn stack on the node
*
- * This method will assert if called on a node that already has Ccnx object
+ * This method will assert if called on a node that already has Ndn object
* installed on it
*
* \param nodeName The name of the node on which to install the stack.
*
* \returns list of installed faces in the form of a smart pointer
- * to CcnxFaceContainer object
+ * to NdnFaceContainer object
*/
- Ptr<CcnxFaceContainer>
+ Ptr<NdnFaceContainer>
Install (std::string nodeName) const;
/**
- * \brief Install CCNx stack on the node
+ * \brief Install Ndn stack on the node
*
- * This method will assert if called on a node that already has Ccnx object
+ * This method will assert if called on a node that already has Ndn object
* installed on it
*
* \param node The node on which to install the stack.
*
* \returns list of installed faces in the form of a smart pointer
- * to CcnxFaceContainer object
+ * to NdnFaceContainer object
*/
- Ptr<CcnxFaceContainer>
+ Ptr<NdnFaceContainer>
Install (Ptr<Node> node) const;
/**
- * \brief Install CCNx stack on each node in the input container
+ * \brief Install Ndn stack on each node in the input container
*
* The program will assert if this method is called on a container with a node
- * that already has an ccnx object aggregated to it.
+ * that already has an ndn object aggregated to it.
*
* \param c NodeContainer that holds the set of nodes on which to install the
* new stacks.
*
* \returns list of installed faces in the form of a smart pointer
- * to CcnxFaceContainer object
+ * to NdnFaceContainer object
*/
- Ptr<CcnxFaceContainer>
+ Ptr<NdnFaceContainer>
Install (NodeContainer c) const;
/**
- * \brief Install CCNx stack on all nodes in the simulation
+ * \brief Install Ndn stack on all nodes in the simulation
*
* \returns list of installed faces in the form of a smart pointer
- * to CcnxFaceContainer object
+ * to NdnFaceContainer object
*/
- Ptr<CcnxFaceContainer>
+ Ptr<NdnFaceContainer>
InstallAll () const;
/**
@@ -219,7 +219,7 @@
* \param metric Routing metric
*/
static void
- AddRoute (Ptr<Node> node, std::string prefix, Ptr<CcnxFace> face, int32_t metric);
+ AddRoute (Ptr<Node> node, std::string prefix, Ptr<NdnFace> face, int32_t metric);
/**
* \brief Set flag indicating necessity to install default routes in FIB
@@ -228,11 +228,11 @@
SetDefaultRoutes (bool needSet);
private:
- CcnxStackHelper (const CcnxStackHelper &);
- CcnxStackHelper &operator = (const CcnxStackHelper &o);
+ NdnStackHelper (const NdnStackHelper &);
+ NdnStackHelper &operator = (const NdnStackHelper &o);
private:
- ObjectFactory m_ccnxFactory;
+ ObjectFactory m_ndnFactory;
ObjectFactory m_strategyFactory;
ObjectFactory m_contentStoreFactory;
ObjectFactory m_pitFactory;
@@ -247,4 +247,4 @@
} // namespace ns3
-#endif /* CCNX_STACK_HELPER_H */
+#endif /* NDN_STACK_HELPER_H */
diff --git a/model/ccnx-app-face.cc b/model/ccnx-app-face.cc
deleted file mode 100644
index cec8a1c..0000000
--- a/model/ccnx-app-face.cc
+++ /dev/null
@@ -1,144 +0,0 @@
-/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil -*- */
-/*
- * Copyright (c) 2011 University of California, Los Angeles
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation;
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * Author: Alexander Afanasyev <alexander.afanasyev@ucla.edu>
- * Ilya Moiseenko <iliamo@cs.ucla.edu>
- *
- */
-
-#include "ccnx-app-face.h"
-
-#include "ns3/log.h"
-#include "ns3/packet.h"
-#include "ns3/node.h"
-#include "ns3/assert.h"
-#include "ns3/simulator.h"
-
-#include "ns3/ccnx-header-helper.h"
-#include "ns3/ccnx-app.h"
-
-#include "ccnx-interest-header.h"
-#include "ccnx-content-object-header.h"
-
-NS_LOG_COMPONENT_DEFINE ("CcnxAppFace");
-
-namespace ns3
-{
-
-NS_OBJECT_ENSURE_REGISTERED (CcnxAppFace);
-
-TypeId
-CcnxAppFace::GetTypeId ()
-{
- static TypeId tid = TypeId ("ns3::CcnxAppFace")
- .SetParent<CcnxFace> ()
- .SetGroupName ("Ccnx")
- ;
- return tid;
-}
-
-CcnxAppFace::CcnxAppFace (Ptr<CcnxApp> app)
- : CcnxFace (app->GetNode ())
- , m_app (app)
-{
- NS_LOG_FUNCTION (this << app);
-
- NS_ASSERT (m_app != 0);
-}
-
-CcnxAppFace::~CcnxAppFace ()
-{
- NS_LOG_FUNCTION_NOARGS ();
-}
-
-CcnxAppFace::CcnxAppFace ()
- : CcnxFace (0)
-{
-}
-
-CcnxAppFace::CcnxAppFace (const CcnxAppFace &)
- : CcnxFace (0)
-{
-}
-
-CcnxAppFace& CcnxAppFace::operator= (const CcnxAppFace &)
-{
- return *((CcnxAppFace*)0);
-}
-
-
-void
-CcnxAppFace::RegisterProtocolHandler (ProtocolHandler handler)
-{
- NS_LOG_FUNCTION (this);
-
- CcnxFace::RegisterProtocolHandler (handler);
-
- m_app->RegisterProtocolHandler (MakeCallback (&CcnxFace::Receive, this));
-}
-
-bool
-CcnxAppFace::SendImpl (Ptr<Packet> p)
-{
- NS_LOG_FUNCTION (this << p);
-
- try
- {
- CcnxHeaderHelper::Type type = CcnxHeaderHelper::GetCcnxHeaderType (p);
- switch (type)
- {
- case CcnxHeaderHelper::INTEREST:
- {
- Ptr<CcnxInterestHeader> header = Create<CcnxInterestHeader> ();
- p->RemoveHeader (*header);
-
- if (header->GetNack () > 0)
- m_app->OnNack (header, p);
- else
- m_app->OnInterest (header, p);
-
- break;
- }
- case CcnxHeaderHelper::CONTENT_OBJECT:
- {
- static CcnxContentObjectTail tail;
- Ptr<CcnxContentObjectHeader> header = Create<CcnxContentObjectHeader> ();
- p->RemoveHeader (*header);
- p->RemoveTrailer (tail);
- m_app->OnContentObject (header, p/*payload*/);
-
- break;
- }
- }
-
- return true;
- }
- catch (CcnxUnknownHeaderException)
- {
- NS_LOG_ERROR ("Unknown header type");
- return false;
- }
-}
-
-std::ostream& CcnxAppFace::Print (std::ostream& os) const
-{
- os << "dev=local(" << GetId() << ")";
- return os;
-}
-
-}; // namespace ns3
-
diff --git a/model/ccnx-global-router.cc b/model/ccnx-global-router.cc
deleted file mode 100644
index 8a4f767..0000000
--- a/model/ccnx-global-router.cc
+++ /dev/null
@@ -1,106 +0,0 @@
-/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil -*- */
-/*
- * Copyright (c) 2011 UCLA
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation;
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * Author: Alexander Afanasyev <alexander.afanasyev@ucla.edu>
- */
-
-#include "ccnx-global-router.h"
-
-#include "ns3/ccnx.h"
-#include "ns3/ccnx-face.h"
-#include "ns3/ccnx-name-components.h"
-
-#include "ns3/channel.h"
-
-using namespace boost;
-
-namespace ns3 {
-
-uint32_t CcnxGlobalRouter::m_idCounter = 0;
-
-NS_OBJECT_ENSURE_REGISTERED (CcnxGlobalRouter);
-
-TypeId
-CcnxGlobalRouter::GetTypeId ()
-{
- static TypeId tid = TypeId ("ns3::CcnxGlobalRouter")
- .SetGroupName ("Ccnx")
- .SetParent<Object> ()
- ;
- return tid;
-}
-
-CcnxGlobalRouter::CcnxGlobalRouter ()
-{
- m_id = m_idCounter;
- m_idCounter ++;
-}
-
-void
-CcnxGlobalRouter::NotifyNewAggregate ()
-{
- if (m_ccnx == 0)
- {
- m_ccnx = GetObject<Ccnx> ();
- }
- Object::NotifyNewAggregate ();
-}
-
-uint32_t
-CcnxGlobalRouter::GetId () const
-{
- return m_id;
-}
-
-Ptr<Ccnx>
-CcnxGlobalRouter::GetCcnx () const
-{
- return m_ccnx;
-}
-
-void
-CcnxGlobalRouter::AddLocalPrefix (Ptr< CcnxNameComponents > prefix)
-{
- m_localPrefixes.push_back (prefix);
-}
-
-void
-CcnxGlobalRouter::AddIncidency (Ptr< CcnxFace > face, Ptr< CcnxGlobalRouter > gr)
-{
- m_incidencies.push_back (make_tuple (this, face, gr));
-}
-
-CcnxGlobalRouter::IncidencyList &
-CcnxGlobalRouter::GetIncidencies ()
-{
- return m_incidencies;
-}
-
-const CcnxGlobalRouter::LocalPrefixList &
-CcnxGlobalRouter::GetLocalPrefixes () const
-{
- return m_localPrefixes;
-}
-
-// void
-// CcnxGlobalRouter::AddIncidencyChannel (Ptr< CcnxFace > face, Ptr< Channel > channel)
-// {
-// m_incidenciesChannel.push_back (make_tuple (face, channel));
-// }
-
-}
-
diff --git a/model/content-store/ccnx-content-store-impl.h b/model/content-store/ndn-content-store-impl.h
similarity index 68%
rename from model/content-store/ccnx-content-store-impl.h
rename to model/content-store/ndn-content-store-impl.h
index b3275da..0140f58 100644
--- a/model/content-store/ccnx-content-store-impl.h
+++ b/model/content-store/ndn-content-store-impl.h
@@ -18,33 +18,33 @@
* Author: Alexander Afanasyev <alexander.afanasyev@ucla.edu>
*/
-#ifndef CCNX_CONTENT_STORE_IMPL_H_
-#define CCNX_CONTENT_STORE_IMPL_H_
+#ifndef NDN_CONTENT_STORE_IMPL_H_
+#define NDN_CONTENT_STORE_IMPL_H_
-#include "ccnx-content-store.h"
+#include "ndn-content-store.h"
#include "ns3/packet.h"
-#include "ns3/ccnx-interest-header.h"
-#include "ns3/ccnx-content-object-header.h"
+#include "ns3/ndn-interest-header.h"
+#include "ns3/ndn-content-object-header.h"
#include <boost/foreach.hpp>
namespace ns3
{
template<class Container>
-class CcnxContentStoreImpl : public CcnxContentStore,
+class NdnContentStoreImpl : public NdnContentStore,
protected Container
{
public:
- // from CcnxContentStore
+ // from NdnContentStore
- virtual inline boost::tuple<Ptr<Packet>, Ptr<const CcnxContentObjectHeader>, Ptr<const Packet> >
- Lookup (Ptr<const CcnxInterestHeader> interest);
+ virtual inline boost::tuple<Ptr<Packet>, Ptr<const NdnContentObjectHeader>, Ptr<const Packet> >
+ Lookup (Ptr<const NdnInterestHeader> interest);
virtual inline bool
- Add (Ptr<const CcnxContentObjectHeader> header, Ptr<const Packet> packet);
+ Add (Ptr<const NdnContentObjectHeader> header, Ptr<const Packet> packet);
// virtual bool
- // Remove (Ptr<CcnxInterestHeader> header);
+ // Remove (Ptr<NdnInterestHeader> header);
virtual inline void
Print (std::ostream &os) const;
@@ -52,8 +52,8 @@
template<class Container>
-boost::tuple<Ptr<Packet>, Ptr<const CcnxContentObjectHeader>, Ptr<const Packet> >
-CcnxContentStoreImpl<Container>::Lookup (Ptr<const CcnxInterestHeader> interest)
+boost::tuple<Ptr<Packet>, Ptr<const NdnContentObjectHeader>, Ptr<const Packet> >
+NdnContentStoreImpl<Container>::Lookup (Ptr<const NdnInterestHeader> interest)
{
// NS_LOG_FUNCTION (this << interest->GetName ());
@@ -65,7 +65,7 @@
this->m_cacheHitsTrace (interest, node->payload ()->GetHeader ());
// NS_LOG_DEBUG ("cache hit with " << node->payload ()->GetHeader ()->GetName ());
- return boost::make_tuple (node->payload ()->GetFullyFormedCcnxPacket (),
+ return boost::make_tuple (node->payload ()->GetFullyFormedNdnPacket (),
node->payload ()->GetHeader (),
node->payload ()->GetPacket ());
}
@@ -73,24 +73,24 @@
{
// NS_LOG_DEBUG ("cache miss for " << interest->GetName ());
this->m_cacheMissesTrace (interest);
- return boost::tuple<Ptr<Packet>, Ptr<CcnxContentObjectHeader>, Ptr<Packet> > (0, 0, 0);
+ return boost::tuple<Ptr<Packet>, Ptr<NdnContentObjectHeader>, Ptr<Packet> > (0, 0, 0);
}
}
template<class Container>
bool
-CcnxContentStoreImpl<Container>::Add (Ptr<const CcnxContentObjectHeader> header, Ptr<const Packet> packet)
+NdnContentStoreImpl<Container>::Add (Ptr<const NdnContentObjectHeader> header, Ptr<const Packet> packet)
{
// NS_LOG_FUNCTION (this << header->GetName ());
return
- this->insert (header->GetName (), Create<CcnxContentStoreEntry> (header, packet))
+ this->insert (header->GetName (), Create<NdnContentStoreEntry> (header, packet))
.second;
}
template<class Container>
void
-CcnxContentStoreImpl<Container>::Print (std::ostream &os) const
+NdnContentStoreImpl<Container>::Print (std::ostream &os) const
{
for (typename Container::policy_container::const_iterator item = this->getPolicy ().begin ();
item != this->getPolicy ().end ();
@@ -104,4 +104,4 @@
} // namespace ns3
-#endif // CCNX_CONTENT_STORE_IMPL_H_
+#endif // NDN_CONTENT_STORE_IMPL_H_
diff --git a/model/content-store/ccnx-content-store-policies.cc b/model/content-store/ndn-content-store-policies.cc
similarity index 62%
rename from model/content-store/ccnx-content-store-policies.cc
rename to model/content-store/ndn-content-store-policies.cc
index e9a23e1..a474461 100644
--- a/model/content-store/ccnx-content-store-policies.cc
+++ b/model/content-store/ndn-content-store-policies.cc
@@ -18,11 +18,11 @@
* Author: Alexander Afanasyev <alexander.afanasyev@ucla.edu>
*/
-#include "ccnx-content-store-policies.h"
+#include "ndn-content-store-policies.h"
#include "ns3/log.h"
#include "ns3/uinteger.h"
-NS_LOG_COMPONENT_DEFINE ("CcnxContentStorePolicies");
+NS_LOG_COMPONENT_DEFINE ("NdnContentStorePolicies");
namespace ns3
{
@@ -33,20 +33,20 @@
////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////
-NS_OBJECT_ENSURE_REGISTERED (CcnxContentStoreLru);
+NS_OBJECT_ENSURE_REGISTERED (NdnContentStoreLru);
TypeId
-CcnxContentStoreLru::GetTypeId (void)
+NdnContentStoreLru::GetTypeId (void)
{
- static TypeId tid = TypeId ("ns3::CcnxContentStoreLru")
- .SetGroupName ("Ccnx")
- .SetParent< CcnxContentStore > ()
- .AddConstructor<CcnxContentStoreLru> ()
+ static TypeId tid = TypeId ("ns3::NdnContentStoreLru")
+ .SetGroupName ("Ndn")
+ .SetParent< NdnContentStore > ()
+ .AddConstructor<NdnContentStoreLru> ()
.AddAttribute ("Size",
"Maximum number of packets that content storage can hold",
UintegerValue (100),
- MakeUintegerAccessor (&CcnxContentStoreLru::SetMaxSize,
- &CcnxContentStoreLru::GetMaxSize),
+ MakeUintegerAccessor (&NdnContentStoreLru::SetMaxSize,
+ &NdnContentStoreLru::GetMaxSize),
MakeUintegerChecker<uint32_t> ())
;
@@ -54,22 +54,22 @@
}
void
-CcnxContentStoreLru::SetMaxSize (uint32_t maxSize)
+NdnContentStoreLru::SetMaxSize (uint32_t maxSize)
{
getPolicy ().set_max_size (maxSize);
}
uint32_t
-CcnxContentStoreLru::GetMaxSize () const
+NdnContentStoreLru::GetMaxSize () const
{
return getPolicy ().get_max_size ();
}
-CcnxContentStoreLru::CcnxContentStoreLru ()
+NdnContentStoreLru::NdnContentStoreLru ()
{
}
-CcnxContentStoreLru::~CcnxContentStoreLru ()
+NdnContentStoreLru::~NdnContentStoreLru ()
{
}
@@ -79,21 +79,21 @@
////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////
-NS_OBJECT_ENSURE_REGISTERED (CcnxContentStoreRandom);
+NS_OBJECT_ENSURE_REGISTERED (NdnContentStoreRandom);
TypeId
-CcnxContentStoreRandom::GetTypeId (void)
+NdnContentStoreRandom::GetTypeId (void)
{
- static TypeId tid = TypeId ("ns3::CcnxContentStoreRandom")
- .SetGroupName ("Ccnx")
- .SetParent< CcnxContentStore > ()
- .AddConstructor<CcnxContentStoreRandom> ()
+ static TypeId tid = TypeId ("ns3::NdnContentStoreRandom")
+ .SetGroupName ("Ndn")
+ .SetParent< NdnContentStore > ()
+ .AddConstructor<NdnContentStoreRandom> ()
.AddAttribute ("Size",
"Maximum number of packets that content storage can hold",
UintegerValue (100),
- MakeUintegerAccessor (&CcnxContentStoreRandom::SetMaxSize,
- &CcnxContentStoreRandom::GetMaxSize),
+ MakeUintegerAccessor (&NdnContentStoreRandom::SetMaxSize,
+ &NdnContentStoreRandom::GetMaxSize),
MakeUintegerChecker<uint32_t> ())
;
@@ -101,22 +101,22 @@
}
void
-CcnxContentStoreRandom::SetMaxSize (uint32_t maxSize)
+NdnContentStoreRandom::SetMaxSize (uint32_t maxSize)
{
getPolicy ().set_max_size (maxSize);
}
uint32_t
-CcnxContentStoreRandom::GetMaxSize () const
+NdnContentStoreRandom::GetMaxSize () const
{
return getPolicy ().get_max_size ();
}
-CcnxContentStoreRandom::CcnxContentStoreRandom ()
+NdnContentStoreRandom::NdnContentStoreRandom ()
{
}
-CcnxContentStoreRandom::~CcnxContentStoreRandom ()
+NdnContentStoreRandom::~NdnContentStoreRandom ()
{
}
@@ -127,21 +127,21 @@
////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////
-NS_OBJECT_ENSURE_REGISTERED (CcnxContentStoreFifo);
+NS_OBJECT_ENSURE_REGISTERED (NdnContentStoreFifo);
TypeId
-CcnxContentStoreFifo::GetTypeId (void)
+NdnContentStoreFifo::GetTypeId (void)
{
- static TypeId tid = TypeId ("ns3::CcnxContentStoreFifo")
- .SetGroupName ("Ccnx")
- .SetParent< CcnxContentStore > ()
- .AddConstructor<CcnxContentStoreFifo> ()
+ static TypeId tid = TypeId ("ns3::NdnContentStoreFifo")
+ .SetGroupName ("Ndn")
+ .SetParent< NdnContentStore > ()
+ .AddConstructor<NdnContentStoreFifo> ()
.AddAttribute ("Size",
"Maximum number of packets that content storage can hold",
UintegerValue (100),
- MakeUintegerAccessor (&CcnxContentStoreFifo::SetMaxSize,
- &CcnxContentStoreFifo::GetMaxSize),
+ MakeUintegerAccessor (&NdnContentStoreFifo::SetMaxSize,
+ &NdnContentStoreFifo::GetMaxSize),
MakeUintegerChecker<uint32_t> ())
;
@@ -149,22 +149,22 @@
}
void
-CcnxContentStoreFifo::SetMaxSize (uint32_t maxSize)
+NdnContentStoreFifo::SetMaxSize (uint32_t maxSize)
{
getPolicy ().set_max_size (maxSize);
}
uint32_t
-CcnxContentStoreFifo::GetMaxSize () const
+NdnContentStoreFifo::GetMaxSize () const
{
return getPolicy ().get_max_size ();
}
-CcnxContentStoreFifo::CcnxContentStoreFifo ()
+NdnContentStoreFifo::NdnContentStoreFifo ()
{
}
-CcnxContentStoreFifo::~CcnxContentStoreFifo ()
+NdnContentStoreFifo::~NdnContentStoreFifo ()
{
}
diff --git a/model/content-store/ccnx-content-store-policies.h b/model/content-store/ndn-content-store-policies.h
similarity index 70%
rename from model/content-store/ccnx-content-store-policies.h
rename to model/content-store/ndn-content-store-policies.h
index cb8ee10..506dc72 100644
--- a/model/content-store/ccnx-content-store-policies.h
+++ b/model/content-store/ndn-content-store-policies.h
@@ -19,12 +19,12 @@
* Ilya Moiseenko <iliamo@cs.ucla.edu>
*/
-#ifndef CCNX_CONTENT_STORE_POLICIES_H
-#define CCNX_CONTENT_STORE_POLICIES_H
+#ifndef NDN_CONTENT_STORE_POLICIES_H
+#define NDN_CONTENT_STORE_POLICIES_H
-// #include "ns3/ccnx.h"
+// #include "ns3/ndn.h"
-#include "ccnx-content-store-impl.h"
+#include "ndn-content-store-impl.h"
#include "../../utils/trie.h"
#include "../../utils/trie-with-policy.h"
@@ -37,13 +37,13 @@
{
/**
- * \ingroup ccnx
+ * \ingroup ndn
* \brief Content Store with LRU replacement policy
*/
-class CcnxContentStoreLru :
- public CcnxContentStoreImpl<
- ndnSIM::trie_with_policy<CcnxNameComponents,
- ndnSIM::smart_pointer_payload_traits<CcnxContentStoreEntry>,
+class NdnContentStoreLru :
+ public NdnContentStoreImpl<
+ ndnSIM::trie_with_policy<NdnNameComponents,
+ ndnSIM::smart_pointer_payload_traits<NdnContentStoreEntry>,
ndnSIM::lru_policy_traits >
>
{
@@ -58,8 +58,8 @@
/**
* Default constructor
*/
- CcnxContentStoreLru ();
- virtual ~CcnxContentStoreLru ();
+ NdnContentStoreLru ();
+ virtual ~NdnContentStoreLru ();
private:
void
@@ -71,13 +71,13 @@
/**
- * \ingroup ccnx
+ * \ingroup ndn
* \brief Content Store with RANDOM replacement policy
*/
-class CcnxContentStoreRandom :
- public CcnxContentStoreImpl<
- ndnSIM::trie_with_policy<CcnxNameComponents,
- ndnSIM::smart_pointer_payload_traits<CcnxContentStoreEntry>,
+class NdnContentStoreRandom :
+ public NdnContentStoreImpl<
+ ndnSIM::trie_with_policy<NdnNameComponents,
+ ndnSIM::smart_pointer_payload_traits<NdnContentStoreEntry>,
ndnSIM::random_policy_traits >
>
{
@@ -92,8 +92,8 @@
/**
* Default constructor
*/
- CcnxContentStoreRandom ();
- virtual ~CcnxContentStoreRandom ();
+ NdnContentStoreRandom ();
+ virtual ~NdnContentStoreRandom ();
private:
void
@@ -104,13 +104,13 @@
};
/**
- * \ingroup ccnx
+ * \ingroup ndn
* \brief Content Store with FIFO replacement policy
*/
-class CcnxContentStoreFifo :
- public CcnxContentStoreImpl<
- ndnSIM::trie_with_policy<CcnxNameComponents,
- ndnSIM::smart_pointer_payload_traits<CcnxContentStoreEntry>,
+class NdnContentStoreFifo :
+ public NdnContentStoreImpl<
+ ndnSIM::trie_with_policy<NdnNameComponents,
+ ndnSIM::smart_pointer_payload_traits<NdnContentStoreEntry>,
ndnSIM::fifo_policy_traits >
>
{
@@ -125,8 +125,8 @@
/**
* Default constructor
*/
- CcnxContentStoreFifo ();
- virtual ~CcnxContentStoreFifo ();
+ NdnContentStoreFifo ();
+ virtual ~NdnContentStoreFifo ();
private:
void
@@ -139,4 +139,4 @@
} //namespace ns3
-#endif // CCNX_CONTENT_STORE_POLICIES_H
+#endif // NDN_CONTENT_STORE_POLICIES_H
diff --git a/model/content-store/ccnx-content-store.cc b/model/content-store/ndn-content-store.cc
similarity index 61%
rename from model/content-store/ccnx-content-store.cc
rename to model/content-store/ndn-content-store.cc
index abbf9c3..75e9373 100644
--- a/model/content-store/ccnx-content-store.cc
+++ b/model/content-store/ndn-content-store.cc
@@ -20,54 +20,54 @@
*
*/
-#include "ccnx-content-store.h"
+#include "ndn-content-store.h"
#include "ns3/log.h"
#include "ns3/packet.h"
-#include "ns3/ccnx-name-components.h"
-#include "ns3/ccnx-interest-header.h"
-#include "ns3/ccnx-content-object-header.h"
+#include "ns3/ndn-name-components.h"
+#include "ns3/ndn-interest-header.h"
+#include "ns3/ndn-content-object-header.h"
-NS_LOG_COMPONENT_DEFINE ("CcnxContentStore");
+NS_LOG_COMPONENT_DEFINE ("NdnContentStore");
namespace ns3
{
-NS_OBJECT_ENSURE_REGISTERED (CcnxContentStore);
+NS_OBJECT_ENSURE_REGISTERED (NdnContentStore);
TypeId
-CcnxContentStore::GetTypeId (void)
+NdnContentStore::GetTypeId (void)
{
- static TypeId tid = TypeId ("ns3::CcnxContentStore")
- .SetGroupName ("Ccnx")
+ static TypeId tid = TypeId ("ns3::NdnContentStore")
+ .SetGroupName ("Ndn")
.SetParent<Object> ()
.AddTraceSource ("CacheHits", "Trace called every time there is a cache hit",
- MakeTraceSourceAccessor (&CcnxContentStore::m_cacheHitsTrace))
+ MakeTraceSourceAccessor (&NdnContentStore::m_cacheHitsTrace))
.AddTraceSource ("CacheMisses", "Trace called every time there is a cache miss",
- MakeTraceSourceAccessor (&CcnxContentStore::m_cacheMissesTrace))
+ MakeTraceSourceAccessor (&NdnContentStore::m_cacheMissesTrace))
;
return tid;
}
-CcnxContentStore::~CcnxContentStore ()
+NdnContentStore::~NdnContentStore ()
{
}
//////////////////////////////////////////////////////////////////////
-CcnxContentStoreEntry::CcnxContentStoreEntry (Ptr<const CcnxContentObjectHeader> header, Ptr<const Packet> packet)
+NdnContentStoreEntry::NdnContentStoreEntry (Ptr<const NdnContentObjectHeader> header, Ptr<const Packet> packet)
: m_header (header)
, m_packet (packet->Copy ())
{
}
Ptr<Packet>
-CcnxContentStoreEntry::GetFullyFormedCcnxPacket () const
+NdnContentStoreEntry::GetFullyFormedNdnPacket () const
{
- static CcnxContentObjectTail tail; ///< \internal for optimization purposes
+ static NdnContentObjectTail tail; ///< \internal for optimization purposes
Ptr<Packet> packet = m_packet->Copy ();
packet->AddHeader (*m_header);
@@ -75,20 +75,20 @@
return packet;
}
-const CcnxNameComponents&
-CcnxContentStoreEntry::GetName () const
+const NdnNameComponents&
+NdnContentStoreEntry::GetName () const
{
return m_header->GetName ();
}
-Ptr<const CcnxContentObjectHeader>
-CcnxContentStoreEntry::GetHeader () const
+Ptr<const NdnContentObjectHeader>
+NdnContentStoreEntry::GetHeader () const
{
return m_header;
}
Ptr<const Packet>
-CcnxContentStoreEntry::GetPacket () const
+NdnContentStoreEntry::GetPacket () const
{
return m_packet;
}
diff --git a/model/content-store/ccnx-content-store.h b/model/content-store/ndn-content-store.h
similarity index 62%
rename from model/content-store/ccnx-content-store.h
rename to model/content-store/ndn-content-store.h
index f0abd61..2d4ada6 100644
--- a/model/content-store/ccnx-content-store.h
+++ b/model/content-store/ndn-content-store.h
@@ -19,8 +19,8 @@
* Ilya Moiseenko <iliamo@cs.ucla.edu>
*/
-#ifndef CCNX_CONTENT_STORE_H
-#define CCNX_CONTENT_STORE_H
+#ifndef NDN_CONTENT_STORE_H
+#define NDN_CONTENT_STORE_H
#include "ns3/object.h"
#include "ns3/ptr.h"
@@ -32,47 +32,47 @@
{
class Packet;
-class CcnxContentObjectHeader;
-class CcnxInterestHeader;
-class CcnxNameComponents;
+class NdnContentObjectHeader;
+class NdnInterestHeader;
+class NdnNameComponents;
/**
- * \ingroup ccnx
+ * \ingroup ndn
* \brief NDN content store entry
*
* Content store entry stores separately pseudo header and content of
* ContentObject packet. It is responsibility of the caller to
- * construct a fully formed CcnxPacket by calling Copy(), AddHeader(),
+ * construct a fully formed NdnPacket by calling Copy(), AddHeader(),
* AddTail() on the packet received by GetPacket() method.
*
- * GetFullyFormedCcnxPacket method provided as a convenience
+ * GetFullyFormedNdnPacket method provided as a convenience
*/
-class CcnxContentStoreEntry : public SimpleRefCount<CcnxContentStoreEntry>
+class NdnContentStoreEntry : public SimpleRefCount<NdnContentStoreEntry>
{
public:
/**
* \brief Construct content store entry
*
- * \param header Parsed CcnxContentObject header
- * \param packet Original CCNx packet
+ * \param header Parsed NdnContentObject header
+ * \param packet Original Ndn packet
*
* The constructor will make a copy of the supplied packet and calls
* RemoveHeader and RemoveTail on the copy.
*/
- CcnxContentStoreEntry (Ptr<const CcnxContentObjectHeader> header, Ptr<const Packet> packet);
+ NdnContentStoreEntry (Ptr<const NdnContentObjectHeader> header, Ptr<const Packet> packet);
/**
* \brief Get prefix of the stored entry
* \returns prefix of the stored entry
*/
- const CcnxNameComponents&
+ const NdnNameComponents&
GetName () const;
/**
- * \brief Get CcnxContentObjectHeader of the stored entry
- * \returns CcnxContentObjectHeader of the stored entry
+ * \brief Get NdnContentObjectHeader of the stored entry
+ * \returns NdnContentObjectHeader of the stored entry
*/
- Ptr<const CcnxContentObjectHeader>
+ Ptr<const NdnContentObjectHeader>
GetHeader () const;
/**
@@ -83,25 +83,25 @@
GetPacket () const;
/**
- * \brief Convenience method to create a fully formed CCNx packet from stored header and content
- * \returns A read-write copy of the packet with CcnxContentObjectHeader and CcxnContentObjectTail
+ * \brief Convenience method to create a fully formed Ndn packet from stored header and content
+ * \returns A read-write copy of the packet with NdnContentObjectHeader and CcxnContentObjectTail
*/
Ptr<Packet>
- GetFullyFormedCcnxPacket () const;
+ GetFullyFormedNdnPacket () const;
private:
- Ptr<const CcnxContentObjectHeader> m_header; ///< \brief non-modifiable CcnxContentObjectHeader
+ Ptr<const NdnContentObjectHeader> m_header; ///< \brief non-modifiable NdnContentObjectHeader
Ptr<Packet> m_packet; ///< \brief non-modifiable content of the ContentObject packet
};
/**
- * \ingroup ccnx
+ * \ingroup ndn
* \brief Base class for NDN content store
*
* Particular implementations should implement Lookup, Add, and Print methods
*/
-class CcnxContentStore : public Object
+class NdnContentStore : public Object
{
public:
/**
@@ -115,7 +115,7 @@
/**
* @brief Virtual destructor
*/
- virtual ~CcnxContentStore ();
+ virtual ~NdnContentStore ();
/**
* \brief Find corresponding CS entry for the given interest
@@ -126,19 +126,19 @@
* If an entry is found, it is promoted to the top of most recent
* used entries index, \see m_contentStore
*/
- virtual boost::tuple<Ptr<Packet>, Ptr<const CcnxContentObjectHeader>, Ptr<const Packet> >
- Lookup (Ptr<const CcnxInterestHeader> interest) = 0;
+ virtual boost::tuple<Ptr<Packet>, Ptr<const NdnContentObjectHeader>, Ptr<const Packet> >
+ Lookup (Ptr<const NdnInterestHeader> interest) = 0;
/**
* \brief Add a new content to the content store.
*
- * \param header Fully parsed CcnxContentObjectHeader
- * \param packet Fully formed CCNx packet to add to content store
+ * \param header Fully parsed NdnContentObjectHeader
+ * \param packet Fully formed Ndn packet to add to content store
* (will be copied and stripped down of headers)
* @returns true if an existing entry was updated, false otherwise
*/
virtual bool
- Add (Ptr<const CcnxContentObjectHeader> header, Ptr<const Packet> packet) = 0;
+ Add (Ptr<const NdnContentObjectHeader> header, Ptr<const Packet> packet) = 0;
// /**
// * \brief Add a new content to the content store.
@@ -147,7 +147,7 @@
// * @returns true if an existing entry was removed, false otherwise
// */
// virtual bool
- // Remove (Ptr<CcnxInterestHeader> header) = 0;
+ // Remove (Ptr<NdnInterestHeader> header) = 0;
/**
* \brief Print out content store entries
@@ -156,14 +156,14 @@
Print (std::ostream &os) const = 0;
protected:
- TracedCallback<Ptr<const CcnxInterestHeader>,
- Ptr<const CcnxContentObjectHeader> > m_cacheHitsTrace; ///< @brief trace of cache hits
+ TracedCallback<Ptr<const NdnInterestHeader>,
+ Ptr<const NdnContentObjectHeader> > m_cacheHitsTrace; ///< @brief trace of cache hits
- TracedCallback<Ptr<const CcnxInterestHeader> > m_cacheMissesTrace; ///< @brief trace of cache misses
+ TracedCallback<Ptr<const NdnInterestHeader> > m_cacheMissesTrace; ///< @brief trace of cache misses
};
inline std::ostream&
-operator<< (std::ostream &os, const CcnxContentStore &cs)
+operator<< (std::ostream &os, const NdnContentStore &cs)
{
cs.Print (os);
return os;
@@ -171,4 +171,4 @@
} // namespace ns3
-#endif // CCNX_CONTENT_STORE_H
+#endif // NDN_CONTENT_STORE_H
diff --git a/model/fib/ccnx-fib-entry.cc b/model/fib/ndn-fib-entry.cc
similarity index 66%
rename from model/fib/ccnx-fib-entry.cc
rename to model/fib/ndn-fib-entry.cc
index c0c575a..965886f 100644
--- a/model/fib/ccnx-fib-entry.cc
+++ b/model/fib/ndn-fib-entry.cc
@@ -18,9 +18,9 @@
* Author: Alexander Afanasyev <alexander.afanasyev@ucla.edu>
*/
-#include "ccnx-fib-entry.h"
+#include "ndn-fib-entry.h"
-#include "ns3/ccnx-name-components.h"
+#include "ns3/ndn-name-components.h"
#include "ns3/log.h"
#define NDN_RTO_ALPHA 0.125
@@ -32,7 +32,7 @@
#include <boost/lambda/bind.hpp>
namespace ll = boost::lambda;
-NS_LOG_COMPONENT_DEFINE ("CcnxFibEntry");
+NS_LOG_COMPONENT_DEFINE ("NdnFibEntry");
namespace ns3
{
@@ -40,11 +40,11 @@
//////////////////////////////////////////////////////////////////////
// Helpers
//////////////////////////////////////////////////////////////////////
-namespace __ccnx_private {
+namespace __ndn_private {
-struct CcnxFibFaceMetricByFace
+struct NdnFibFaceMetricByFace
{
- typedef CcnxFibFaceMetricContainer::type::index<i_face>::type
+ typedef NdnFibFaceMetricContainer::type::index<i_face>::type
type;
};
@@ -52,10 +52,10 @@
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
-using namespace __ccnx_private;
+using namespace __ndn_private;
void
-CcnxFibFaceMetric::UpdateRtt (const Time &rttSample)
+NdnFibFaceMetric::UpdateRtt (const Time &rttSample)
{
// const Time & this->m_rttSample
@@ -78,56 +78,56 @@
/////////////////////////////////////////////////////////////////////
void
-CcnxFibEntry::UpdateFaceRtt (Ptr<CcnxFace> face, const Time &sample)
+NdnFibEntry::UpdateFaceRtt (Ptr<NdnFace> face, const Time &sample)
{
- CcnxFibFaceMetricByFace::type::iterator record = m_faces.get<i_face> ().find (face);
+ NdnFibFaceMetricByFace::type::iterator record = m_faces.get<i_face> ().find (face);
NS_ASSERT_MSG (record != m_faces.get<i_face> ().end (),
"Update status can be performed only on existing faces of CcxnFibEntry");
m_faces.modify (record,
- ll::bind (&CcnxFibFaceMetric::UpdateRtt, ll::_1, sample));
+ ll::bind (&NdnFibFaceMetric::UpdateRtt, ll::_1, sample));
// reordering random access index same way as by metric index
m_faces.get<i_nth> ().rearrange (m_faces.get<i_metric> ().begin ());
}
void
-CcnxFibEntry::UpdateStatus (Ptr<CcnxFace> face, CcnxFibFaceMetric::Status status)
+NdnFibEntry::UpdateStatus (Ptr<NdnFace> face, NdnFibFaceMetric::Status status)
{
NS_LOG_FUNCTION (this << boost::cref(*face) << status);
- CcnxFibFaceMetricByFace::type::iterator record = m_faces.get<i_face> ().find (face);
+ NdnFibFaceMetricByFace::type::iterator record = m_faces.get<i_face> ().find (face);
NS_ASSERT_MSG (record != m_faces.get<i_face> ().end (),
"Update status can be performed only on existing faces of CcxnFibEntry");
m_faces.modify (record,
- (&ll::_1)->*&CcnxFibFaceMetric::m_status = status);
+ (&ll::_1)->*&NdnFibFaceMetric::m_status = status);
// reordering random access index same way as by metric index
m_faces.get<i_nth> ().rearrange (m_faces.get<i_metric> ().begin ());
}
void
-CcnxFibEntry::AddOrUpdateRoutingMetric (Ptr<CcnxFace> face, int32_t metric)
+NdnFibEntry::AddOrUpdateRoutingMetric (Ptr<NdnFace> face, int32_t metric)
{
NS_LOG_FUNCTION (this);
NS_ASSERT_MSG (face != NULL, "Trying to Add or Update NULL face");
- CcnxFibFaceMetricByFace::type::iterator record = m_faces.get<i_face> ().find (face);
+ NdnFibFaceMetricByFace::type::iterator record = m_faces.get<i_face> ().find (face);
if (record == m_faces.get<i_face> ().end ())
{
- m_faces.insert (CcnxFibFaceMetric (face, metric));
+ m_faces.insert (NdnFibFaceMetric (face, metric));
}
else
{
// don't update metric to higher value
- if (record->m_routingCost > metric || record->m_status == CcnxFibFaceMetric::NDN_FIB_RED)
+ if (record->m_routingCost > metric || record->m_status == NdnFibFaceMetric::NDN_FIB_RED)
{
m_faces.modify (record,
- (&ll::_1)->*&CcnxFibFaceMetric::m_routingCost = metric);
+ (&ll::_1)->*&NdnFibFaceMetric::m_routingCost = metric);
m_faces.modify (record,
- (&ll::_1)->*&CcnxFibFaceMetric::m_status = CcnxFibFaceMetric::NDN_FIB_YELLOW);
+ (&ll::_1)->*&NdnFibFaceMetric::m_status = NdnFibFaceMetric::NDN_FIB_YELLOW);
}
}
@@ -136,31 +136,31 @@
}
void
-CcnxFibEntry::Invalidate ()
+NdnFibEntry::Invalidate ()
{
- for (CcnxFibFaceMetricByFace::type::iterator face = m_faces.begin ();
+ for (NdnFibFaceMetricByFace::type::iterator face = m_faces.begin ();
face != m_faces.end ();
face++)
{
m_faces.modify (face,
- (&ll::_1)->*&CcnxFibFaceMetric::m_routingCost = std::numeric_limits<uint16_t>::max ());
+ (&ll::_1)->*&NdnFibFaceMetric::m_routingCost = std::numeric_limits<uint16_t>::max ());
m_faces.modify (face,
- (&ll::_1)->*&CcnxFibFaceMetric::m_status = CcnxFibFaceMetric::NDN_FIB_RED);
+ (&ll::_1)->*&NdnFibFaceMetric::m_status = NdnFibFaceMetric::NDN_FIB_RED);
}
}
-const CcnxFibFaceMetric &
-CcnxFibEntry::FindBestCandidate (uint32_t skip/* = 0*/) const
+const NdnFibFaceMetric &
+NdnFibEntry::FindBestCandidate (uint32_t skip/* = 0*/) const
{
- if (m_faces.size () == 0) throw CcnxFibEntry::NoFaces ();
+ if (m_faces.size () == 0) throw NdnFibEntry::NoFaces ();
skip = skip % m_faces.size();
return m_faces.get<i_nth> () [skip];
}
-std::ostream& operator<< (std::ostream& os, const CcnxFibEntry &entry)
+std::ostream& operator<< (std::ostream& os, const NdnFibEntry &entry)
{
- for (CcnxFibFaceMetricContainer::type::index<i_nth>::type::iterator metric =
+ for (NdnFibFaceMetricContainer::type::index<i_nth>::type::iterator metric =
entry.m_faces.get<i_nth> ().begin ();
metric != entry.m_faces.get<i_nth> ().end ();
metric++)
@@ -173,7 +173,7 @@
return os;
}
-std::ostream& operator<< (std::ostream& os, const CcnxFibFaceMetric &metric)
+std::ostream& operator<< (std::ostream& os, const NdnFibFaceMetric &metric)
{
static const std::string statusString[] = {"","g","y","r"};
diff --git a/model/fib/ccnx-fib-entry.h b/model/fib/ndn-fib-entry.h
similarity index 67%
rename from model/fib/ccnx-fib-entry.h
rename to model/fib/ndn-fib-entry.h
index 9aa75cb..cf8cbe6 100644
--- a/model/fib/ccnx-fib-entry.h
+++ b/model/fib/ndn-fib-entry.h
@@ -18,13 +18,13 @@
* Author: Alexander Afanasyev <alexander.afanasyev@ucla.edu>
*/
-#ifndef _CCNX_FIB_ENTRY_H_
-#define _CCNX_FIB_ENTRY_H_
+#ifndef _NDN_FIB_ENTRY_H_
+#define _NDN_FIB_ENTRY_H_
#include "ns3/ptr.h"
#include "ns3/nstime.h"
-#include "ns3/ccnx.h"
-#include "ns3/ccnx-face.h"
+#include "ns3/ndn.h"
+#include "ns3/ndn-face.h"
#include <boost/multi_index_container.hpp>
#include <boost/multi_index/tag.hpp>
@@ -38,13 +38,13 @@
namespace ns3
{
-class CcnxNameComponents;
+class NdnNameComponents;
/**
- * \ingroup ccnx
+ * \ingroup ndn
* \brief Structure holding various parameters associated with a (FibEntry, Face) tuple
*/
-class CcnxFibFaceMetric
+class NdnFibFaceMetric
{
public:
/**
@@ -60,7 +60,7 @@
* \param face Face for which metric
* \param cost Initial value for routing cost
*/
- CcnxFibFaceMetric (Ptr<CcnxFace> face, int32_t cost)
+ NdnFibFaceMetric (Ptr<NdnFace> face, int32_t cost)
: m_face (face)
, m_status (NDN_FIB_YELLOW)
, m_routingCost (cost)
@@ -72,18 +72,18 @@
* \brief Comparison operator used by boost::multi_index::identity<>
*/
bool
- operator< (const CcnxFibFaceMetric &fm) const { return *m_face < *fm.m_face; } // return identity of the face
+ operator< (const NdnFibFaceMetric &fm) const { return *m_face < *fm.m_face; } // return identity of the face
/**
- * @brief Comparison between CcnxFibFaceMetric and CcnxFace
+ * @brief Comparison between NdnFibFaceMetric and NdnFace
*/
bool
- operator< (const Ptr<CcnxFace> &face) const { return *m_face < *face; }
+ operator< (const Ptr<NdnFace> &face) const { return *m_face < *face; }
/**
- * @brief Return CcnxFace associated with CcnxFibFaceMetric
+ * @brief Return NdnFace associated with NdnFibFaceMetric
*/
- Ptr<CcnxFace>
+ Ptr<NdnFace>
GetFace () const { return m_face; }
/**
@@ -94,9 +94,9 @@
UpdateRtt (const Time &rttSample);
private:
- friend std::ostream& operator<< (std::ostream& os, const CcnxFibFaceMetric &metric);
+ friend std::ostream& operator<< (std::ostream& os, const NdnFibFaceMetric &metric);
public:
- Ptr<CcnxFace> m_face; ///< Face
+ Ptr<NdnFace> m_face; ///< Face
Status m_status; ///< \brief Status of the next hop:
///< - NDN_FIB_GREEN
@@ -110,8 +110,8 @@
};
/**
- * \ingroup ccnx
- * \brief Typedef for indexed face container of CcnxFibEntry
+ * \ingroup ndn
+ * \brief Typedef for indexed face container of NdnFibEntry
*
* Currently, there are 2 indexes:
* - by face (used to find record and update metric)
@@ -119,31 +119,31 @@
* - random access index (for fast lookup on nth face). Order is
* maintained manually to be equal to the 'by metric' order
*/
-struct CcnxFibFaceMetricContainer
+struct NdnFibFaceMetricContainer
{
/// @cond include_hidden
typedef boost::multi_index::multi_index_container<
- CcnxFibFaceMetric,
+ NdnFibFaceMetric,
boost::multi_index::indexed_by<
- // For fast access to elements using CcnxFace
+ // For fast access to elements using NdnFace
boost::multi_index::ordered_unique<
- boost::multi_index::tag<__ccnx_private::i_face>,
- boost::multi_index::member<CcnxFibFaceMetric,Ptr<CcnxFace>,&CcnxFibFaceMetric::m_face>
+ boost::multi_index::tag<__ndn_private::i_face>,
+ boost::multi_index::member<NdnFibFaceMetric,Ptr<NdnFace>,&NdnFibFaceMetric::m_face>
>,
// List of available faces ordered by (status, m_routingCost)
boost::multi_index::ordered_non_unique<
- boost::multi_index::tag<__ccnx_private::i_metric>,
+ boost::multi_index::tag<__ndn_private::i_metric>,
boost::multi_index::composite_key<
- CcnxFibFaceMetric,
- boost::multi_index::member<CcnxFibFaceMetric,CcnxFibFaceMetric::Status,&CcnxFibFaceMetric::m_status>,
- boost::multi_index::member<CcnxFibFaceMetric,int32_t,&CcnxFibFaceMetric::m_routingCost>
+ NdnFibFaceMetric,
+ boost::multi_index::member<NdnFibFaceMetric,NdnFibFaceMetric::Status,&NdnFibFaceMetric::m_status>,
+ boost::multi_index::member<NdnFibFaceMetric,int32_t,&NdnFibFaceMetric::m_routingCost>
>
>,
// To optimize nth candidate selection (sacrifice a little bit space to gain speed)
boost::multi_index::random_access<
- boost::multi_index::tag<__ccnx_private::i_nth>
+ boost::multi_index::tag<__ndn_private::i_nth>
>
>
> type;
@@ -151,11 +151,11 @@
};
/**
- * \ingroup ccnx
+ * \ingroup ndn
* \brief Structure for FIB table entry, holding indexed list of
* available faces and their respective metrics
*/
-class CcnxFibEntry : public SimpleRefCount<CcnxFibEntry>
+class NdnFibEntry : public SimpleRefCount<NdnFibEntry>
{
public:
class NoFaces {}; ///< @brief Exception class for the case when FIB entry is not found
@@ -164,7 +164,7 @@
* \brief Constructor
* \param prefix smart pointer to the prefix for the FIB entry
*/
- CcnxFibEntry (const Ptr<const CcnxNameComponents> &prefix)
+ NdnFibEntry (const Ptr<const NdnNameComponents> &prefix)
: m_prefix (prefix)
, m_needsProbing (false)
{ }
@@ -173,14 +173,14 @@
* \brief Update status of FIB next hop
* \param status Status to set on the FIB entry
*/
- void UpdateStatus (Ptr<CcnxFace> face, CcnxFibFaceMetric::Status status);
+ void UpdateStatus (Ptr<NdnFace> face, NdnFibFaceMetric::Status status);
/**
* \brief Add or update routing metric of FIB next hop
*
* Initial status of the next hop is set to YELLOW
*/
- void AddOrUpdateRoutingMetric (Ptr<CcnxFace> face, int32_t metric);
+ void AddOrUpdateRoutingMetric (Ptr<NdnFace> face, int32_t metric);
/**
* @brief Invalidate face
@@ -194,44 +194,44 @@
* @brief Update RTT averages for the face
*/
void
- UpdateFaceRtt (Ptr<CcnxFace> face, const Time &sample);
+ UpdateFaceRtt (Ptr<NdnFace> face, const Time &sample);
/**
* \brief Get prefix for the FIB entry
*/
- const CcnxNameComponents&
+ const NdnNameComponents&
GetPrefix () const { return *m_prefix; }
/**
* \brief Find "best route" candidate, skipping `skip' first candidates (modulo # of faces)
*
- * throws CcnxFibEntry::NoFaces if m_faces.size()==0
+ * throws NdnFibEntry::NoFaces if m_faces.size()==0
*/
- const CcnxFibFaceMetric &
+ const NdnFibFaceMetric &
FindBestCandidate (uint32_t skip = 0) const;
/**
* @brief Remove record associated with `face`
*/
void
- RemoveFace (const Ptr<CcnxFace> &face)
+ RemoveFace (const Ptr<NdnFace> &face)
{
m_faces.erase (face);
}
private:
- friend std::ostream& operator<< (std::ostream& os, const CcnxFibEntry &entry);
+ friend std::ostream& operator<< (std::ostream& os, const NdnFibEntry &entry);
public:
- Ptr<const CcnxNameComponents> m_prefix; ///< \brief Prefix of the FIB entry
- CcnxFibFaceMetricContainer::type m_faces; ///< \brief Indexed list of faces
+ Ptr<const NdnNameComponents> m_prefix; ///< \brief Prefix of the FIB entry
+ NdnFibFaceMetricContainer::type m_faces; ///< \brief Indexed list of faces
bool m_needsProbing; ///< \brief flag indicating that probing should be performed
};
-std::ostream& operator<< (std::ostream& os, const CcnxFibEntry &entry);
-std::ostream& operator<< (std::ostream& os, const CcnxFibFaceMetric &metric);
+std::ostream& operator<< (std::ostream& os, const NdnFibEntry &entry);
+std::ostream& operator<< (std::ostream& os, const NdnFibFaceMetric &metric);
} // ns3
-#endif // _CCNX_FIB_ENTRY_H_
+#endif // _NDN_FIB_ENTRY_H_
diff --git a/model/fib/ccnx-fib-impl.cc b/model/fib/ndn-fib-impl.cc
similarity index 71%
rename from model/fib/ccnx-fib-impl.cc
rename to model/fib/ndn-fib-impl.cc
index 90f0cd8..747c689 100644
--- a/model/fib/ccnx-fib-impl.cc
+++ b/model/fib/ndn-fib-impl.cc
@@ -18,11 +18,11 @@
* Author: Alexander Afanasyev <alexander.afanasyev@ucla.edu>
*/
-#include "ccnx-fib-impl.h"
+#include "ndn-fib-impl.h"
-#include "ns3/ccnx.h"
-#include "ns3/ccnx-face.h"
-#include "ns3/ccnx-interest-header.h"
+#include "ns3/ndn.h"
+#include "ns3/ndn-face.h"
+#include "ns3/ndn-interest-header.h"
#include "ns3/node.h"
#include "ns3/assert.h"
@@ -34,43 +34,43 @@
#include <boost/lambda/bind.hpp>
namespace ll = boost::lambda;
-NS_LOG_COMPONENT_DEFINE ("CcnxFibImpl");
+NS_LOG_COMPONENT_DEFINE ("NdnFibImpl");
namespace ns3 {
-NS_OBJECT_ENSURE_REGISTERED (CcnxFibImpl);
+NS_OBJECT_ENSURE_REGISTERED (NdnFibImpl);
TypeId
-CcnxFibImpl::GetTypeId (void)
+NdnFibImpl::GetTypeId (void)
{
- static TypeId tid = TypeId ("ns3::CcnxFib") // cheating ns3 object system
- .SetParent<CcnxFib> ()
- .SetGroupName ("Ccnx")
- .AddConstructor<CcnxFibImpl> ()
+ static TypeId tid = TypeId ("ns3::NdnFib") // cheating ns3 object system
+ .SetParent<NdnFib> ()
+ .SetGroupName ("Ndn")
+ .AddConstructor<NdnFibImpl> ()
;
return tid;
}
-CcnxFibImpl::CcnxFibImpl ()
+NdnFibImpl::NdnFibImpl ()
{
}
void
-CcnxFibImpl::NotifyNewAggregate ()
+NdnFibImpl::NotifyNewAggregate ()
{
Object::NotifyNewAggregate ();
}
void
-CcnxFibImpl::DoDispose (void)
+NdnFibImpl::DoDispose (void)
{
clear ();
Object::DoDispose ();
}
-Ptr<CcnxFibEntry>
-CcnxFibImpl::LongestPrefixMatch (const CcnxInterestHeader &interest)
+Ptr<NdnFibEntry>
+NdnFibImpl::LongestPrefixMatch (const NdnInterestHeader &interest)
{
super::iterator item = super::longest_prefix_match (interest.GetName ());
// @todo use predicate to search with exclude filters
@@ -82,14 +82,14 @@
}
-Ptr<CcnxFibEntry>
-CcnxFibImpl::Add (const CcnxNameComponents &prefix, Ptr<CcnxFace> face, int32_t metric)
+Ptr<NdnFibEntry>
+NdnFibImpl::Add (const NdnNameComponents &prefix, Ptr<NdnFace> face, int32_t metric)
{
- return Add (Create<CcnxNameComponents> (prefix), face, metric);
+ return Add (Create<NdnNameComponents> (prefix), face, metric);
}
-Ptr<CcnxFibEntry>
-CcnxFibImpl::Add (const Ptr<const CcnxNameComponents> &prefix, Ptr<CcnxFace> face, int32_t metric)
+Ptr<NdnFibEntry>
+NdnFibImpl::Add (const Ptr<const NdnNameComponents> &prefix, Ptr<NdnFace> face, int32_t metric)
{
NS_LOG_FUNCTION (this->GetObject<Node> ()->GetId () << boost::cref(*prefix) << boost::cref(*face) << metric);
@@ -99,13 +99,13 @@
{
if (result.second)
{
- Ptr<CcnxFibEntryImpl> newEntry = Create<CcnxFibEntryImpl> (prefix);
+ Ptr<NdnFibEntryImpl> newEntry = Create<NdnFibEntryImpl> (prefix);
newEntry->SetTrie (result.first);
result.first->set_payload (newEntry);
}
super::modify (result.first,
- ll::bind (&CcnxFibEntry::AddOrUpdateRoutingMetric, ll::_1, face, metric));
+ ll::bind (&NdnFibEntry::AddOrUpdateRoutingMetric, ll::_1, face, metric));
return result.first->payload ();
}
@@ -114,7 +114,7 @@
}
void
-CcnxFibImpl::Remove (const Ptr<const CcnxNameComponents> &prefix)
+NdnFibImpl::Remove (const Ptr<const NdnNameComponents> &prefix)
{
NS_LOG_FUNCTION (this->GetObject<Node> ()->GetId () << boost::cref(*prefix));
@@ -122,7 +122,7 @@
}
// void
-// CcnxFibImpl::Invalidate (const Ptr<const CcnxNameComponents> &prefix)
+// NdnFibImpl::Invalidate (const Ptr<const NdnNameComponents> &prefix)
// {
// NS_LOG_FUNCTION (this->GetObject<Node> ()->GetId () << boost::cref(*prefix));
@@ -134,11 +134,11 @@
// return; // nothing to invalidate
// super::modify (lastItem,
-// ll::bind (&CcnxFibEntry::Invalidate, ll::_1));
+// ll::bind (&NdnFibEntry::Invalidate, ll::_1));
// }
void
-CcnxFibImpl::InvalidateAll ()
+NdnFibImpl::InvalidateAll ()
{
NS_LOG_FUNCTION (this->GetObject<Node> ()->GetId ());
@@ -149,28 +149,28 @@
if (item->payload () == 0) continue;
super::modify (&(*item),
- ll::bind (&CcnxFibEntry::Invalidate, ll::_1));
+ ll::bind (&NdnFibEntry::Invalidate, ll::_1));
}
}
void
-CcnxFibImpl::RemoveFace (super::parent_trie &item, Ptr<CcnxFace> face)
+NdnFibImpl::RemoveFace (super::parent_trie &item, Ptr<NdnFace> face)
{
if (item.payload () == 0) return;
NS_LOG_FUNCTION (this);
super::modify (&item,
- ll::bind (&CcnxFibEntry::RemoveFace, ll::_1, face));
+ ll::bind (&NdnFibEntry::RemoveFace, ll::_1, face));
}
void
-CcnxFibImpl::RemoveFromAll (Ptr<CcnxFace> face)
+NdnFibImpl::RemoveFromAll (Ptr<NdnFace> face)
{
NS_LOG_FUNCTION (this);
std::for_each (super::parent_trie::recursive_iterator (super::getTrie ()),
super::parent_trie::recursive_iterator (0),
- ll::bind (&CcnxFibImpl::RemoveFace,
+ ll::bind (&NdnFibImpl::RemoveFace,
this, ll::_1, face));
super::parent_trie::recursive_iterator trieNode (super::getTrie ());
@@ -187,7 +187,7 @@
}
void
-CcnxFibImpl::Print (std::ostream &os) const
+NdnFibImpl::Print (std::ostream &os) const
{
// !!! unordered_set imposes "random" order of item in the same level !!!
super::parent_trie::const_recursive_iterator item (super::getTrie ());
@@ -201,13 +201,13 @@
}
uint32_t
-CcnxFibImpl::GetSize () const
+NdnFibImpl::GetSize () const
{
return super::getPolicy ().size ();
}
-Ptr<const CcnxFibEntry>
-CcnxFibImpl::Begin ()
+Ptr<const NdnFibEntry>
+NdnFibImpl::Begin ()
{
super::parent_trie::const_recursive_iterator item (super::getTrie ());
super::parent_trie::const_recursive_iterator end (0);
@@ -223,18 +223,18 @@
return item->payload ();
}
-Ptr<const CcnxFibEntry>
-CcnxFibImpl::End ()
+Ptr<const NdnFibEntry>
+NdnFibImpl::End ()
{
return 0;
}
-Ptr<const CcnxFibEntry>
-CcnxFibImpl::Next (Ptr<const CcnxFibEntry> from)
+Ptr<const NdnFibEntry>
+NdnFibImpl::Next (Ptr<const NdnFibEntry> from)
{
if (from == 0) return 0;
- super::parent_trie::const_recursive_iterator item (*StaticCast<const CcnxFibEntryImpl> (from)->to_iterator ());
+ super::parent_trie::const_recursive_iterator item (*StaticCast<const NdnFibEntryImpl> (from)->to_iterator ());
super::parent_trie::const_recursive_iterator end (0);
for (item++; item != end; item++)
{
diff --git a/model/fib/ccnx-fib-impl.h b/model/fib/ndn-fib-impl.h
similarity index 62%
rename from model/fib/ccnx-fib-impl.h
rename to model/fib/ndn-fib-impl.h
index e6da99b..562f06e 100644
--- a/model/fib/ccnx-fib-impl.h
+++ b/model/fib/ndn-fib-impl.h
@@ -18,28 +18,28 @@
* Author: Alexander Afanasyev <alexander.afanasyev@ucla.edu>
*/
-#ifndef _CCNX_FIB_IMPL_H_
-#define _CCNX_FIB_IMPL_H_
+#ifndef _NDN_FIB_IMPL_H_
+#define _NDN_FIB_IMPL_H_
-#include "ns3/ccnx-fib.h"
-#include "ns3/ccnx-name-components.h"
+#include "ns3/ndn-fib.h"
+#include "ns3/ndn-name-components.h"
#include "../../utils/trie-with-policy.h"
#include "../../utils/counting-policy.h"
namespace ns3 {
-class CcnxFibEntryImpl : public CcnxFibEntry
+class NdnFibEntryImpl : public NdnFibEntry
{
public:
typedef ndnSIM::trie_with_policy<
- CcnxNameComponents,
- ndnSIM::smart_pointer_payload_traits<CcnxFibEntryImpl>,
+ NdnNameComponents,
+ ndnSIM::smart_pointer_payload_traits<NdnFibEntryImpl>,
ndnSIM::counting_policy_traits
> trie;
- CcnxFibEntryImpl (const Ptr<const CcnxNameComponents> &prefix)
- : CcnxFibEntry (prefix)
+ NdnFibEntryImpl (const Ptr<const NdnNameComponents> &prefix)
+ : NdnFibEntry (prefix)
, item_ (0)
{
}
@@ -57,24 +57,24 @@
trie::iterator item_;
};
-struct CcnxFibEntryContainer
+struct NdnFibEntryContainer
{
typedef ndnSIM::trie_with_policy<
- CcnxNameComponents,
- ndnSIM::smart_pointer_payload_traits<CcnxFibEntryImpl>,
+ NdnNameComponents,
+ ndnSIM::smart_pointer_payload_traits<NdnFibEntryImpl>,
ndnSIM::counting_policy_traits
> type;
};
/**
- * \ingroup ccnx
+ * \ingroup ndn
* \brief Class implementing FIB functionality
*/
-class CcnxFibImpl : public CcnxFib,
- private CcnxFibEntryContainer::type
+class NdnFibImpl : public NdnFib,
+ private NdnFibEntryContainer::type
{
public:
- typedef CcnxFibEntryContainer::type super;
+ typedef NdnFibEntryContainer::type super;
/**
* \brief Interface ID
@@ -86,25 +86,25 @@
/**
* \brief Constructor
*/
- CcnxFibImpl ();
+ NdnFibImpl ();
- virtual Ptr<CcnxFibEntry>
- LongestPrefixMatch (const CcnxInterestHeader &interest);
+ virtual Ptr<NdnFibEntry>
+ LongestPrefixMatch (const NdnInterestHeader &interest);
- virtual Ptr<CcnxFibEntry>
- Add (const CcnxNameComponents &prefix, Ptr<CcnxFace> face, int32_t metric);
+ virtual Ptr<NdnFibEntry>
+ Add (const NdnNameComponents &prefix, Ptr<NdnFace> face, int32_t metric);
- virtual Ptr<CcnxFibEntry>
- Add (const Ptr<const CcnxNameComponents> &prefix, Ptr<CcnxFace> face, int32_t metric);
+ virtual Ptr<NdnFibEntry>
+ Add (const Ptr<const NdnNameComponents> &prefix, Ptr<NdnFace> face, int32_t metric);
virtual void
- Remove (const Ptr<const CcnxNameComponents> &prefix);
+ Remove (const Ptr<const NdnNameComponents> &prefix);
virtual void
InvalidateAll ();
virtual void
- RemoveFromAll (Ptr<CcnxFace> face);
+ RemoveFromAll (Ptr<NdnFace> face);
virtual void
Print (std::ostream &os) const;
@@ -112,23 +112,23 @@
virtual uint32_t
GetSize () const;
- virtual Ptr<const CcnxFibEntry>
+ virtual Ptr<const NdnFibEntry>
Begin ();
- virtual Ptr<const CcnxFibEntry>
+ virtual Ptr<const NdnFibEntry>
End ();
- virtual Ptr<const CcnxFibEntry>
- Next (Ptr<const CcnxFibEntry> item);
+ virtual Ptr<const NdnFibEntry>
+ Next (Ptr<const NdnFibEntry> item);
// /**
// * @brief Modify element in container
// */
// template<typename Modifier>
// bool
- // modify (Ptr<CcnxFibEntry> item, Modifier mod)
+ // modify (Ptr<NdnFibEntry> item, Modifier mod)
// {
- // return super::modify (StaticCast<CcnxFibEntryImpl> (item)->to_iterator (), mod);
+ // return super::modify (StaticCast<NdnFibEntryImpl> (item)->to_iterator (), mod);
// }
protected:
@@ -142,7 +142,7 @@
* entry will be removed
*/
void
- RemoveFace (super::parent_trie &item, Ptr<CcnxFace> face);
+ RemoveFace (super::parent_trie &item, Ptr<NdnFace> face);
private:
Ptr<Node> m_node;
@@ -150,4 +150,4 @@
} // namespace ns3
-#endif /* _CCNX_FIB_IMPL_H_ */
+#endif /* _NDN_FIB_IMPL_H_ */
diff --git a/model/fib/ccnx-fib.cc b/model/fib/ndn-fib.cc
similarity index 76%
rename from model/fib/ccnx-fib.cc
rename to model/fib/ndn-fib.cc
index fdd1aea..7046634 100644
--- a/model/fib/ccnx-fib.cc
+++ b/model/fib/ndn-fib.cc
@@ -18,14 +18,14 @@
* Author: Alexander Afanasyev <alexander.afanasyev@ucla.edu>
*/
-#include "ccnx-fib.h"
+#include "ndn-fib.h"
-#include "ccnx-fib-impl.h"
+#include "ndn-fib-impl.h"
-#include "ns3/ccnx.h"
-#include "ns3/ccnx-face.h"
-#include "ns3/ccnx-interest-header.h"
-#include "ns3/ccnx-name-components.h"
+#include "ns3/ndn.h"
+#include "ns3/ndn-face.h"
+#include "ns3/ndn-interest-header.h"
+#include "ns3/ndn-name-components.h"
#include "ns3/node.h"
#include "ns3/names.h"
@@ -37,19 +37,19 @@
namespace ns3 {
-using namespace __ccnx_private;
+using namespace __ndn_private;
TypeId
-CcnxFib::GetTypeId (void)
+NdnFib::GetTypeId (void)
{
- static TypeId tid = TypeId ("ns3::private::CcnxFib") // cheating ns3 object system
+ static TypeId tid = TypeId ("ns3::private::NdnFib") // cheating ns3 object system
.SetParent<Object> ()
- .SetGroupName ("Ccnx")
+ .SetGroupName ("Ndn")
;
return tid;
}
-std::ostream& operator<< (std::ostream& os, const CcnxFib &fib)
+std::ostream& operator<< (std::ostream& os, const NdnFib &fib)
{
os << "Node " << Names::FindName (fib.GetObject<Node>()) << "\n";
os << " Dest prefix Interfaces(Costs) \n";
diff --git a/model/fib/ccnx-fib.h b/model/fib/ndn-fib.h
similarity index 78%
rename from model/fib/ccnx-fib.h
rename to model/fib/ndn-fib.h
index eae0c65..12a6148 100644
--- a/model/fib/ccnx-fib.h
+++ b/model/fib/ndn-fib.h
@@ -18,23 +18,23 @@
* Author: Alexander Afanasyev <alexander.afanasyev@ucla.edu>
*/
-#ifndef _CCNX_FIB_H_
-#define _CCNX_FIB_H_
+#ifndef _NDN_FIB_H_
+#define _NDN_FIB_H_
#include "ns3/simple-ref-count.h"
#include "ns3/node.h"
-#include "ns3/ccnx-fib-entry.h"
+#include "ns3/ndn-fib-entry.h"
namespace ns3 {
-class CcnxInterestHeader;
+class NdnInterestHeader;
/**
- * \ingroup ccnx
+ * \ingroup ndn
* \brief Class implementing FIB functionality
*/
-class CcnxFib : public Object
+class NdnFib : public Object
{
public:
/**
@@ -46,12 +46,12 @@
/**
* @brief Default constructor
*/
- CcnxFib () {}
+ NdnFib () {}
/**
* @brief Virtual destructor
*/
- virtual ~CcnxFib () { };
+ virtual ~NdnFib () { };
/**
* \brief Perform longest prefix match
@@ -61,8 +61,8 @@
* \param interest Interest packet header
* \returns If entry found a valid iterator will be returned, otherwise end ()
*/
- virtual Ptr<CcnxFibEntry>
- LongestPrefixMatch (const CcnxInterestHeader &interest) = 0;
+ virtual Ptr<NdnFibEntry>
+ LongestPrefixMatch (const NdnInterestHeader &interest) = 0;
/**
* \brief Add or update FIB entry
@@ -75,8 +75,8 @@
* @param face Forwarding face
* @param metric Routing metric
*/
- virtual Ptr<CcnxFibEntry>
- Add (const CcnxNameComponents &prefix, Ptr<CcnxFace> face, int32_t metric) = 0;
+ virtual Ptr<NdnFibEntry>
+ Add (const NdnNameComponents &prefix, Ptr<NdnFace> face, int32_t metric) = 0;
/**
* \brief Add or update FIB entry using smart pointer to prefix
@@ -89,8 +89,8 @@
* @param face Forwarding face
* @param metric Routing metric
*/
- virtual Ptr<CcnxFibEntry>
- Add (const Ptr<const CcnxNameComponents> &prefix, Ptr<CcnxFace> face, int32_t metric) = 0;
+ virtual Ptr<NdnFibEntry>
+ Add (const Ptr<const NdnNameComponents> &prefix, Ptr<NdnFace> face, int32_t metric) = 0;
/**
* @brief Remove FIB entry
@@ -101,7 +101,7 @@
* @param name Smart pointer to prefix
*/
virtual void
- Remove (const Ptr<const CcnxNameComponents> &prefix) = 0;
+ Remove (const Ptr<const NdnNameComponents> &prefix) = 0;
// /**
// * @brief Invalidate FIB entry ("Safe" version of Remove)
@@ -110,7 +110,7 @@
// * @param name Smart pointer to prefix
// */
// virtual void
- // Invalidate (const Ptr<const CcnxNameComponents> &prefix) = 0;
+ // Invalidate (const Ptr<const NdnNameComponents> &prefix) = 0;
/**
* @brief Invalidate all FIB entries
@@ -123,7 +123,7 @@
* this FIB entry will be removed.
*/
virtual void
- RemoveFromAll (Ptr<CcnxFace> face) = 0;
+ RemoveFromAll (Ptr<NdnFace> face) = 0;
/**
* @brief Print out entries in FIB
@@ -140,20 +140,20 @@
/**
* @brief Return first element of FIB (no order guaranteed)
*/
- virtual Ptr<const CcnxFibEntry>
+ virtual Ptr<const NdnFibEntry>
Begin () = 0;
/**
* @brief Return item next after last (no order guaranteed)
*/
- virtual Ptr<const CcnxFibEntry>
+ virtual Ptr<const NdnFibEntry>
End () = 0;
/**
* @brief Advance the iterator
*/
- virtual Ptr<const CcnxFibEntry>
- Next (Ptr<const CcnxFibEntry>) = 0;
+ virtual Ptr<const NdnFibEntry>
+ Next (Ptr<const NdnFibEntry>) = 0;
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
@@ -162,28 +162,28 @@
/**
* @brief Static call to cheat python bindings
*/
- static inline Ptr<CcnxFib>
- GetCcnxFib (Ptr<Object> node);
+ static inline Ptr<NdnFib>
+ GetNdnFib (Ptr<Object> node);
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
private:
- CcnxFib(const CcnxFib&) {} ; ///< \brief copy constructor is disabled
+ NdnFib(const NdnFib&) {} ; ///< \brief copy constructor is disabled
};
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
-std::ostream& operator<< (std::ostream& os, const CcnxFib &fib);
+std::ostream& operator<< (std::ostream& os, const NdnFib &fib);
-Ptr<CcnxFib>
-CcnxFib::GetCcnxFib (Ptr<Object> node)
+Ptr<NdnFib>
+NdnFib::GetNdnFib (Ptr<Object> node)
{
- return node->GetObject<CcnxFib> ();
+ return node->GetObject<NdnFib> ();
}
} // namespace ns3
-#endif // _CCNX_FIB_H_
+#endif // _NDN_FIB_H_
diff --git a/model/forwarding-strategy/best-route.cc b/model/forwarding-strategy/best-route.cc
index 867527f..ba56979 100644
--- a/model/forwarding-strategy/best-route.cc
+++ b/model/forwarding-strategy/best-route.cc
@@ -21,9 +21,9 @@
#include "best-route.h"
-#include "ns3/ccnx-interest-header.h"
-#include "ns3/ccnx-pit.h"
-#include "ns3/ccnx-pit-entry.h"
+#include "ns3/ndn-interest-header.h"
+#include "ns3/ndn-pit.h"
+#include "ns3/ndn-pit-entry.h"
#include "ns3/assert.h"
#include "ns3/log.h"
@@ -38,7 +38,7 @@
namespace ns3 {
namespace ndnSIM {
-using namespace __ccnx_private;
+using namespace __ndn_private;
NS_OBJECT_ENSURE_REGISTERED (BestRoute);
@@ -46,7 +46,7 @@
BestRoute::GetTypeId (void)
{
static TypeId tid = TypeId ("ns3::ndnSIM::BestRoute")
- .SetGroupName ("Ccnx")
+ .SetGroupName ("Ndn")
.SetParent <GreenYellowRed> ()
.AddConstructor <BestRoute> ()
;
@@ -58,10 +58,10 @@
}
bool
-BestRoute::DoPropagateInterest (const Ptr<CcnxFace> &incomingFace,
- Ptr<CcnxInterestHeader> header,
+BestRoute::DoPropagateInterest (const Ptr<NdnFace> &incomingFace,
+ Ptr<NdnInterestHeader> header,
const Ptr<const Packet> &packet,
- Ptr<CcnxPitEntry> pitEntry)
+ Ptr<NdnPitEntry> pitEntry)
{
NS_LOG_FUNCTION (this);
@@ -73,9 +73,9 @@
int propagatedCount = 0;
- BOOST_FOREACH (const CcnxFibFaceMetric &metricFace, pitEntry->GetFibEntry ()->m_faces.get<i_metric> ())
+ BOOST_FOREACH (const NdnFibFaceMetric &metricFace, pitEntry->GetFibEntry ()->m_faces.get<i_metric> ())
{
- if (metricFace.m_status == CcnxFibFaceMetric::NDN_FIB_RED) // all non-read faces are in front
+ if (metricFace.m_status == NdnFibFaceMetric::NDN_FIB_RED) // all non-read faces are in front
break;
if (metricFace.m_face == incomingFace)
diff --git a/model/forwarding-strategy/best-route.h b/model/forwarding-strategy/best-route.h
index 01c9493..ec86914 100644
--- a/model/forwarding-strategy/best-route.h
+++ b/model/forwarding-strategy/best-route.h
@@ -29,7 +29,7 @@
namespace ndnSIM {
/**
- * \ingroup ccnx
+ * \ingroup ndn
* \brief Best route strategy
*/
class BestRoute :
@@ -44,12 +44,12 @@
*/
BestRoute ();
- // inherited from CcnxForwardingStrategy
+ // inherited from NdnForwardingStrategy
virtual bool
- DoPropagateInterest (const Ptr<CcnxFace> &incomingFace,
- Ptr<CcnxInterestHeader> header,
+ DoPropagateInterest (const Ptr<NdnFace> &incomingFace,
+ Ptr<NdnInterestHeader> header,
const Ptr<const Packet> &packet,
- Ptr<CcnxPitEntry> pitEntry);
+ Ptr<NdnPitEntry> pitEntry);
private:
typedef GreenYellowRed super;
diff --git a/model/forwarding-strategy/ccnx-forwarding-strategy.h b/model/forwarding-strategy/ccnx-forwarding-strategy.h
deleted file mode 100644
index ff0dcef..0000000
--- a/model/forwarding-strategy/ccnx-forwarding-strategy.h
+++ /dev/null
@@ -1,235 +0,0 @@
-/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil -*- */
-/*
- * Copyright (c) 2011 University of California, Los Angeles
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation;
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * Author: Alexander Afanasyev <alexander.afanasyev@ucla.edu>
- * Ilya Moiseenko <iliamo@cs.ucla.edu>
- */
-#ifndef CCNX_FORWARDING_STRATEGY_H
-#define CCNX_FORWARDING_STRATEGY_H
-
-#include "ns3/packet.h"
-#include "ns3/callback.h"
-#include "ns3/object.h"
-#include "ns3/traced-callback.h"
-
-namespace ns3 {
-
-class CcnxFace;
-class CcnxInterestHeader;
-class CcnxContentObjectHeader;
-class CcnxPit;
-class CcnxPitEntry;
-class CcnxFibFaceMetric;
-class CcnxFib;
-class CcnxContentStore;
-
-/**
- * \ingroup ccnx
- * \brief Abstract base class for CCNx forwarding strategies
- */
-class CcnxForwardingStrategy :
- public Object
-{
-public:
- static TypeId GetTypeId (void);
-
- /**
- * @brief Default constructor
- */
- CcnxForwardingStrategy ();
- virtual ~CcnxForwardingStrategy ();
-
- /**
- * \brief Actual processing of incoming CCNx interests. Note, interests do not have payload
- *
- * Processing Interest packets
- * @param face incoming face
- * @param header deserialized Interest header
- * @param packet original packet
- */
- virtual void
- OnInterest (const Ptr<CcnxFace> &face,
- Ptr<CcnxInterestHeader> &header,
- const Ptr<const Packet> &p);
-
- /**
- * \brief Actual processing of incoming CCNx content objects
- *
- * Processing ContentObject packets
- * @param face incoming face
- * @param header deserialized ContentObject header
- * @param payload data packet payload
- * @param packet original packet
- */
- virtual void
- OnData (const Ptr<CcnxFace> &face,
- Ptr<CcnxContentObjectHeader> &header,
- Ptr<Packet> &payload,
- const Ptr<const Packet> &packet);
-
- virtual void
- WillErasePendingInterest (Ptr<CcnxPitEntry> pitEntry);
-
- virtual void
- RemoveFace (Ptr<CcnxFace> face);
-
-protected:
- // events
- virtual void
- DidReceiveDuplicateInterest (const Ptr<CcnxFace> &face,
- Ptr<CcnxInterestHeader> &header,
- const Ptr<const Packet> &packet,
- Ptr<CcnxPitEntry> pitEntry);
-
- virtual void
- DidExhaustForwardingOptions (const Ptr<CcnxFace> &incomingFace,
- Ptr<CcnxInterestHeader> header,
- const Ptr<const Packet> &packet,
- Ptr<CcnxPitEntry> pitEntry);
-
- virtual void
- FailedToCreatePitEntry (const Ptr<CcnxFace> &incomingFace,
- Ptr<CcnxInterestHeader> header,
- const Ptr<const Packet> &packet);
-
- virtual void
- DidCreatePitEntry (const Ptr<CcnxFace> &incomingFace,
- Ptr<CcnxInterestHeader> header,
- const Ptr<const Packet> &packet,
- Ptr<CcnxPitEntry> pitEntry);
-
- virtual bool
- DetectRetransmittedInterest (const Ptr<CcnxFace> &incomingFace,
- Ptr<CcnxPitEntry> pitEntry);
-
- // makes sense only for data received from network
- // When Interest is satisfied from the cache, incoming face is 0
- virtual void
- WillSatisfyPendingInterest (const Ptr<CcnxFace> &incomingFace,
- Ptr<CcnxPitEntry> pitEntry);
-
- // for data received both from network and cache
- virtual void
- SatisfyPendingInterest (const Ptr<CcnxFace> &incomingFace, // 0 allowed (from cache)
- Ptr<const CcnxContentObjectHeader> header,
- Ptr<const Packet> payload,
- const Ptr<const Packet> &packet,
- Ptr<CcnxPitEntry> pitEntry);
-
- virtual void
- DidSendOutData (const Ptr<CcnxFace> &face,
- Ptr<const CcnxContentObjectHeader> header,
- Ptr<const Packet> payload,
- const Ptr<const Packet> &packet);
-
- virtual void
- DidReceiveUnsolicitedData (const Ptr<CcnxFace> &incomingFace,
- Ptr<const CcnxContentObjectHeader> header,
- Ptr<const Packet> payload);
-
- virtual bool
- ShouldSuppressIncomingInterest (const Ptr<CcnxFace> &incomingFace,
- Ptr<CcnxPitEntry> pitEntry);
-
- /**
- * @brief Event fired before actually sending out an interest
- *
- * If event returns false, then there is some kind of a problem (e.g., per-face limit reached)
- */
- virtual bool
- WillSendOutInterest (const Ptr<CcnxFace> &outgoingFace,
- Ptr<CcnxInterestHeader> header,
- Ptr<CcnxPitEntry> pitEntry);
-
- /**
- * @brief Event fired just after sending out an interest
- */
- virtual void
- DidSendOutInterest (const Ptr<CcnxFace> &outgoingFace,
- Ptr<CcnxInterestHeader> header,
- const Ptr<const Packet> &packet,
- Ptr<CcnxPitEntry> pitEntry);
-
- virtual void
- PropagateInterest (const Ptr<CcnxFace> &incomingFace,
- Ptr<CcnxInterestHeader> header,
- const Ptr<const Packet> &packet,
- Ptr<CcnxPitEntry> pitEntry);
-
- /**
- * @brief Base method to propagate the interest according to the forwarding strategy
- *
- * @param pitEntry Reference to PIT entry (reference to corresponding FIB entry inside)
- * @param incomingFace Incoming face
- * @param header CcnxInterestHeader
- * @param packet Original Interest packet
- * @param sendCallback Send callback
- *
- * @return true if interest was successfully propagated, false if all options have failed
- */
- virtual bool
- DoPropagateInterest (const Ptr<CcnxFace> &incomingFace,
- Ptr<CcnxInterestHeader> header,
- const Ptr<const Packet> &packet,
- Ptr<CcnxPitEntry> pitEntry) = 0;
-
-
- // virtual void
- // OnDataDelayed (Ptr<const CcnxContentObjectHeader> header,
- // Ptr<const Packet> payload,
- // const Ptr<const Packet> &packet);
-
-protected:
- // inherited from Object class
- virtual void NotifyNewAggregate (); ///< @brief Even when object is aggregated to another Object
- virtual void DoDispose (); ///< @brief Do cleanup
-
-protected:
- Ptr<CcnxPit> m_pit; ///< \brief Reference to PIT to which this forwarding strategy is associated
- Ptr<CcnxFib> m_fib; ///< \brief FIB
- Ptr<CcnxContentStore> m_contentStore; ///< \brief Content store (for caching purposes only)
-
- bool m_cacheUnsolicitedData;
- bool m_detectRetransmissions;
-
- TracedCallback<Ptr<const CcnxInterestHeader>,
- Ptr<const CcnxFace> > m_outInterests; ///< @brief Transmitted interests trace
-
- TracedCallback<Ptr<const CcnxInterestHeader>,
- Ptr<const CcnxFace> > m_inInterests; ///< @brief trace of incoming Interests
-
- TracedCallback<Ptr<const CcnxInterestHeader>,
- Ptr<const CcnxFace> > m_dropInterests; ///< @brief trace of dropped Interests
-
- ////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////
-
- TracedCallback<Ptr<const CcnxContentObjectHeader>, Ptr<const Packet>,
- bool /*from cache*/,
- Ptr<const CcnxFace> > m_outData; ///< @brief trace of outgoing Data
-
- TracedCallback<Ptr<const CcnxContentObjectHeader>, Ptr<const Packet>,
- Ptr<const CcnxFace> > m_inData; ///< @brief trace of incoming Data
-
- TracedCallback<Ptr<const CcnxContentObjectHeader>, Ptr<const Packet>,
- Ptr<const CcnxFace> > m_dropData; ///< @brief trace of dropped Data
-};
-
-} //namespace ns3
-
-#endif /* CCNX_FORWARDING_STRATEGY_H */
diff --git a/model/forwarding-strategy/flooding.cc b/model/forwarding-strategy/flooding.cc
index 176122d..b20854f 100644
--- a/model/forwarding-strategy/flooding.cc
+++ b/model/forwarding-strategy/flooding.cc
@@ -21,9 +21,9 @@
#include "flooding.h"
-#include "ns3/ccnx-interest-header.h"
-#include "ns3/ccnx-pit.h"
-#include "ns3/ccnx-pit-entry.h"
+#include "ns3/ndn-interest-header.h"
+#include "ns3/ndn-pit.h"
+#include "ns3/ndn-pit-entry.h"
#include "ns3/assert.h"
#include "ns3/log.h"
@@ -41,14 +41,14 @@
namespace ns3 {
namespace ndnSIM {
-using namespace __ccnx_private;
+using namespace __ndn_private;
NS_OBJECT_ENSURE_REGISTERED (Flooding);
TypeId Flooding::GetTypeId (void)
{
static TypeId tid = TypeId ("ns3::ndnSIM::Flooding")
- .SetGroupName ("Ccnx")
+ .SetGroupName ("Ndn")
.SetParent <Nacks> ()
.AddConstructor <Flooding> ()
;
@@ -60,19 +60,19 @@
}
bool
-Flooding::DoPropagateInterest (const Ptr<CcnxFace> &incomingFace,
- Ptr<CcnxInterestHeader> header,
+Flooding::DoPropagateInterest (const Ptr<NdnFace> &incomingFace,
+ Ptr<NdnInterestHeader> header,
const Ptr<const Packet> &packet,
- Ptr<CcnxPitEntry> pitEntry)
+ Ptr<NdnPitEntry> pitEntry)
{
NS_LOG_FUNCTION (this);
int propagatedCount = 0;
- BOOST_FOREACH (const CcnxFibFaceMetric &metricFace, pitEntry->GetFibEntry ()->m_faces.get<i_metric> ())
+ BOOST_FOREACH (const NdnFibFaceMetric &metricFace, pitEntry->GetFibEntry ()->m_faces.get<i_metric> ())
{
NS_LOG_DEBUG ("Trying " << boost::cref(metricFace));
- if (metricFace.m_status == CcnxFibFaceMetric::NDN_FIB_RED) // all non-read faces are in the front of the list
+ if (metricFace.m_status == NdnFibFaceMetric::NDN_FIB_RED) // all non-read faces are in the front of the list
break;
if (metricFace.m_face == incomingFace)
diff --git a/model/forwarding-strategy/flooding.h b/model/forwarding-strategy/flooding.h
index 71665c7..32fa7ae 100644
--- a/model/forwarding-strategy/flooding.h
+++ b/model/forwarding-strategy/flooding.h
@@ -28,7 +28,7 @@
namespace ndnSIM {
/**
- * \ingroup ccnx
+ * \ingroup ndn
* \brief Flooding strategy
*
* \todo Describe
@@ -45,12 +45,12 @@
Flooding ();
protected:
- // inherited from Nacks/CcnxForwardingStrategy
+ // inherited from Nacks/NdnForwardingStrategy
virtual bool
- DoPropagateInterest (const Ptr<CcnxFace> &incomingFace,
- Ptr<CcnxInterestHeader> header,
+ DoPropagateInterest (const Ptr<NdnFace> &incomingFace,
+ Ptr<NdnInterestHeader> header,
const Ptr<const Packet> &packet,
- Ptr<CcnxPitEntry> pitEntry);
+ Ptr<NdnPitEntry> pitEntry);
private:
typedef Nacks super;
diff --git a/model/forwarding-strategy/fw-stats.cc b/model/forwarding-strategy/fw-stats.cc
index 38f03c8..af344e4 100644
--- a/model/forwarding-strategy/fw-stats.cc
+++ b/model/forwarding-strategy/fw-stats.cc
@@ -21,10 +21,10 @@
#include "fw-stats.h"
-#include "ns3/ccnx-interest-header.h"
-#include "ns3/ccnx-content-object-header.h"
-#include "ns3/ccnx-pit.h"
-#include "ns3/ccnx-pit-entry.h"
+#include "ns3/ndn-interest-header.h"
+#include "ns3/ndn-content-object-header.h"
+#include "ns3/ndn-pit.h"
+#include "ns3/ndn-pit-entry.h"
#include "ns3/assert.h"
#include "ns3/log.h"
@@ -47,7 +47,7 @@
FwStats::GetTypeId (void)
{
static TypeId tid = TypeId ("ns3::ndnSIM::FwStats")
- .SetGroupName ("Ccnx")
+ .SetGroupName ("Ndn")
.SetParent <BestRoute> ()
.AddConstructor <FwStats> ()
@@ -69,8 +69,8 @@
}
void
-FwStats::OnInterest (const Ptr<CcnxFace> &face,
- Ptr<CcnxInterestHeader> &header,
+FwStats::OnInterest (const Ptr<NdnFace> &face,
+ Ptr<NdnInterestHeader> &header,
const Ptr<const Packet> &packet)
{
super::OnInterest (face, header, packet);
@@ -81,8 +81,8 @@
}
void
-FwStats::OnData (const Ptr<CcnxFace> &face,
- Ptr<CcnxContentObjectHeader> &header,
+FwStats::OnData (const Ptr<NdnFace> &face,
+ Ptr<NdnContentObjectHeader> &header,
Ptr<Packet> &payload,
const Ptr<const Packet> &packet)
{
@@ -95,8 +95,8 @@
void
-FwStats::FailedToCreatePitEntry (const Ptr<CcnxFace> &incomingFace,
- Ptr<CcnxInterestHeader> header,
+FwStats::FailedToCreatePitEntry (const Ptr<NdnFace> &incomingFace,
+ Ptr<NdnInterestHeader> header,
const Ptr<const Packet> &packet)
{
super::FailedToCreatePitEntry (incomingFace, header, packet);
@@ -110,10 +110,10 @@
}
void
-FwStats::DidCreatePitEntry (const Ptr<CcnxFace> &incomingFace,
- Ptr<CcnxInterestHeader> header,
+FwStats::DidCreatePitEntry (const Ptr<NdnFace> &incomingFace,
+ Ptr<NdnInterestHeader> header,
const Ptr<const Packet> &packet,
- Ptr<CcnxPitEntry> pitEntry)
+ Ptr<NdnPitEntry> pitEntry)
{
super::DidCreatePitEntry (incomingFace, header, packet, pitEntry);
@@ -124,8 +124,8 @@
}
void
-FwStats::WillSatisfyPendingInterest (const Ptr<CcnxFace> &incomingFace,
- Ptr<CcnxPitEntry> pitEntry)
+FwStats::WillSatisfyPendingInterest (const Ptr<NdnFace> &incomingFace,
+ Ptr<NdnPitEntry> pitEntry)
{
super::WillSatisfyPendingInterest (incomingFace, pitEntry);
@@ -135,10 +135,10 @@
}
void
-FwStats::DidSendOutInterest (const Ptr<CcnxFace> &outgoingFace,
- Ptr<CcnxInterestHeader> header,
+FwStats::DidSendOutInterest (const Ptr<NdnFace> &outgoingFace,
+ Ptr<NdnInterestHeader> header,
const Ptr<const Packet> &packet,
- Ptr<CcnxPitEntry> pitEntry)
+ Ptr<NdnPitEntry> pitEntry)
{
super::DidSendOutInterest (outgoingFace, header, packet, pitEntry);
@@ -149,8 +149,8 @@
}
void
-FwStats::DidSendOutData (const Ptr<CcnxFace> &face,
- Ptr<const CcnxContentObjectHeader> header,
+FwStats::DidSendOutData (const Ptr<NdnFace> &face,
+ Ptr<const NdnContentObjectHeader> header,
Ptr<const Packet> payload,
const Ptr<const Packet> &packet)
{
@@ -163,7 +163,7 @@
void
-FwStats::WillErasePendingInterest (Ptr<CcnxPitEntry> pitEntry)
+FwStats::WillErasePendingInterest (Ptr<NdnPitEntry> pitEntry)
{
super::WillErasePendingInterest (pitEntry);
@@ -194,7 +194,7 @@
}
void
-FwStats::RemoveFace (Ptr<CcnxFace> face)
+FwStats::RemoveFace (Ptr<NdnFace> face)
{
m_stats.RemoveFace (face);
diff --git a/model/forwarding-strategy/fw-stats.h b/model/forwarding-strategy/fw-stats.h
index 69149f3..1d7140f 100644
--- a/model/forwarding-strategy/fw-stats.h
+++ b/model/forwarding-strategy/fw-stats.h
@@ -31,7 +31,7 @@
namespace ndnSIM {
/**
- * \ingroup ccnx
+ * \ingroup ndn
* \brief Strategy based on best route and adding statistics gathering capabilities
*/
class FwStats :
@@ -51,49 +51,49 @@
GetStatsTree () const;
virtual void
- OnInterest (const Ptr<CcnxFace> &face,
- Ptr<CcnxInterestHeader> &header,
+ OnInterest (const Ptr<NdnFace> &face,
+ Ptr<NdnInterestHeader> &header,
const Ptr<const Packet> &p);
virtual void
- OnData (const Ptr<CcnxFace> &face,
- Ptr<CcnxContentObjectHeader> &header,
+ OnData (const Ptr<NdnFace> &face,
+ Ptr<NdnContentObjectHeader> &header,
Ptr<Packet> &payload,
const Ptr<const Packet> &packet);
virtual void
- RemoveFace (Ptr<CcnxFace> face);
+ RemoveFace (Ptr<NdnFace> face);
protected:
virtual void
- DidCreatePitEntry (const Ptr<CcnxFace> &incomingFace,
- Ptr<CcnxInterestHeader> header,
+ DidCreatePitEntry (const Ptr<NdnFace> &incomingFace,
+ Ptr<NdnInterestHeader> header,
const Ptr<const Packet> &packet,
- Ptr<CcnxPitEntry> pitEntry);
+ Ptr<NdnPitEntry> pitEntry);
virtual void
- FailedToCreatePitEntry (const Ptr<CcnxFace> &incomingFace,
- Ptr<CcnxInterestHeader> header,
+ FailedToCreatePitEntry (const Ptr<NdnFace> &incomingFace,
+ Ptr<NdnInterestHeader> header,
const Ptr<const Packet> &packet);
virtual void
- WillSatisfyPendingInterest (const Ptr<CcnxFace> &incomingFace,
- Ptr<CcnxPitEntry> pitEntry);
+ WillSatisfyPendingInterest (const Ptr<NdnFace> &incomingFace,
+ Ptr<NdnPitEntry> pitEntry);
virtual void
- DidSendOutInterest (const Ptr<CcnxFace> &outgoingFace,
- Ptr<CcnxInterestHeader> header,
+ DidSendOutInterest (const Ptr<NdnFace> &outgoingFace,
+ Ptr<NdnInterestHeader> header,
const Ptr<const Packet> &packet,
- Ptr<CcnxPitEntry> pitEntry);
+ Ptr<NdnPitEntry> pitEntry);
virtual void
- DidSendOutData (const Ptr<CcnxFace> &face,
- Ptr<const CcnxContentObjectHeader> header,
+ DidSendOutData (const Ptr<NdnFace> &face,
+ Ptr<const NdnContentObjectHeader> header,
Ptr<const Packet> payload,
const Ptr<const Packet> &packet);
virtual void
- WillErasePendingInterest (Ptr<CcnxPitEntry> pitEntry);
+ WillErasePendingInterest (Ptr<NdnPitEntry> pitEntry);
// from Object
void
@@ -110,7 +110,7 @@
::ndnSIM::StatsTree m_stats;
EventId m_statsRefreshEvent;
- TracedCallback< Ptr<CcnxForwardingStrategy>,
+ TracedCallback< Ptr<NdnForwardingStrategy>,
const ::ndnSIM::StatsTree & > m_statsTrace;
typedef BestRoute super;
diff --git a/model/forwarding-strategy/green-yellow-red.cc b/model/forwarding-strategy/green-yellow-red.cc
index c00e6d8..5d497a6 100644
--- a/model/forwarding-strategy/green-yellow-red.cc
+++ b/model/forwarding-strategy/green-yellow-red.cc
@@ -21,13 +21,13 @@
#include "green-yellow-red.h"
-#include "ns3/ccnx-pit.h"
-#include "ns3/ccnx-pit-entry.h"
-#include "ns3/ccnx-interest-header.h"
-#include "ns3/ccnx-content-object-header.h"
-#include "ns3/ccnx-pit.h"
-#include "ns3/ccnx-fib.h"
-#include "ns3/ccnx-content-store.h"
+#include "ns3/ndn-pit.h"
+#include "ns3/ndn-pit-entry.h"
+#include "ns3/ndn-interest-header.h"
+#include "ns3/ndn-content-object-header.h"
+#include "ns3/ndn-pit.h"
+#include "ns3/ndn-fib.h"
+#include "ns3/ndn-content-store.h"
#include "ns3/assert.h"
#include "ns3/ptr.h"
@@ -47,7 +47,7 @@
namespace ns3 {
-using namespace __ccnx_private;
+using namespace __ndn_private;
namespace ndnSIM {
@@ -57,7 +57,7 @@
GreenYellowRed::GetTypeId (void)
{
static TypeId tid = TypeId ("ns3::ndnSIM::GreenYellowRed")
- .SetGroupName ("Ccnx")
+ .SetGroupName ("Ndn")
.SetParent<Nacks> ()
;
@@ -65,20 +65,20 @@
}
bool
-GreenYellowRed::DoPropagateInterest (const Ptr<CcnxFace> &incomingFace,
- Ptr<CcnxInterestHeader> header,
+GreenYellowRed::DoPropagateInterest (const Ptr<NdnFace> &incomingFace,
+ Ptr<NdnInterestHeader> header,
const Ptr<const Packet> &packet,
- Ptr<CcnxPitEntry> pitEntry)
+ Ptr<NdnPitEntry> pitEntry)
{
NS_LOG_FUNCTION (this);
NS_ASSERT_MSG (m_pit != 0, "PIT should be aggregated with forwarding strategy");
int propagatedCount = 0;
- BOOST_FOREACH (const CcnxFibFaceMetric &metricFace, pitEntry->GetFibEntry ()->m_faces.get<i_metric> ())
+ BOOST_FOREACH (const NdnFibFaceMetric &metricFace, pitEntry->GetFibEntry ()->m_faces.get<i_metric> ())
{
- if (metricFace.m_status == CcnxFibFaceMetric::NDN_FIB_RED ||
- metricFace.m_status == CcnxFibFaceMetric::NDN_FIB_YELLOW)
+ if (metricFace.m_status == NdnFibFaceMetric::NDN_FIB_RED ||
+ metricFace.m_status == NdnFibFaceMetric::NDN_FIB_YELLOW)
break; //propagate only to green faces
if (pitEntry->GetIncoming ().find (metricFace.m_face) != pitEntry->GetIncoming ().end ())
@@ -103,29 +103,29 @@
}
void
-GreenYellowRed::WillSatisfyPendingInterest (const Ptr<CcnxFace> &incomingFace,
- Ptr<CcnxPitEntry> pitEntry)
+GreenYellowRed::WillSatisfyPendingInterest (const Ptr<NdnFace> &incomingFace,
+ Ptr<NdnPitEntry> pitEntry)
{
if (incomingFace != 0)
{
// Update metric status for the incoming interface in the corresponding FIB entry
- pitEntry->GetFibEntry ()->UpdateStatus (incomingFace, CcnxFibFaceMetric::NDN_FIB_GREEN);
+ pitEntry->GetFibEntry ()->UpdateStatus (incomingFace, NdnFibFaceMetric::NDN_FIB_GREEN);
}
super::WillSatisfyPendingInterest (incomingFace, pitEntry);
}
void
-GreenYellowRed::DidReceiveValidNack (const Ptr<CcnxFace> &incomingFace,
+GreenYellowRed::DidReceiveValidNack (const Ptr<NdnFace> &incomingFace,
uint32_t nackCode,
- Ptr<CcnxPitEntry> pitEntry)
+ Ptr<NdnPitEntry> pitEntry)
{
super::DidReceiveValidNack (incomingFace, nackCode, pitEntry);
if (incomingFace != 0 &&
- nackCode != CcnxInterestHeader::NACK_LOOP)
+ nackCode != NdnInterestHeader::NACK_LOOP)
{
- pitEntry->GetFibEntry ()->UpdateStatus (incomingFace, CcnxFibFaceMetric::NDN_FIB_YELLOW);
+ pitEntry->GetFibEntry ()->UpdateStatus (incomingFace, NdnFibFaceMetric::NDN_FIB_YELLOW);
}
}
diff --git a/model/forwarding-strategy/green-yellow-red.h b/model/forwarding-strategy/green-yellow-red.h
index 71002b9..67263ee 100644
--- a/model/forwarding-strategy/green-yellow-red.h
+++ b/model/forwarding-strategy/green-yellow-red.h
@@ -27,7 +27,7 @@
namespace ndnSIM {
/**
- * \ingroup ccnx
+ * \ingroup ndn
*/
class GreenYellowRed :
public Nacks
@@ -37,18 +37,18 @@
protected:
virtual void
- WillSatisfyPendingInterest (const Ptr<CcnxFace> &incomingFace,
- Ptr<CcnxPitEntry> pitEntry);
+ WillSatisfyPendingInterest (const Ptr<NdnFace> &incomingFace,
+ Ptr<NdnPitEntry> pitEntry);
virtual bool
- DoPropagateInterest (const Ptr<CcnxFace> &incomingFace,
- Ptr<CcnxInterestHeader> header,
+ DoPropagateInterest (const Ptr<NdnFace> &incomingFace,
+ Ptr<NdnInterestHeader> header,
const Ptr<const Packet> &packet,
- Ptr<CcnxPitEntry> pitEntry);
+ Ptr<NdnPitEntry> pitEntry);
virtual void
- DidReceiveValidNack (const Ptr<CcnxFace> &incomingFace,
+ DidReceiveValidNack (const Ptr<NdnFace> &incomingFace,
uint32_t nackCode,
- Ptr<CcnxPitEntry> pitEntry);
+ Ptr<NdnPitEntry> pitEntry);
private:
typedef Nacks super;
diff --git a/model/forwarding-strategy/nacks.cc b/model/forwarding-strategy/nacks.cc
index b0a193e..4cc8287 100644
--- a/model/forwarding-strategy/nacks.cc
+++ b/model/forwarding-strategy/nacks.cc
@@ -20,13 +20,13 @@
#include "nacks.h"
-#include "ns3/ccnx-pit.h"
-#include "ns3/ccnx-pit-entry.h"
-#include "ns3/ccnx-interest-header.h"
-#include "ns3/ccnx-content-object-header.h"
-#include "ns3/ccnx-pit.h"
-#include "ns3/ccnx-fib.h"
-#include "ns3/ccnx-content-store.h"
+#include "ns3/ndn-pit.h"
+#include "ns3/ndn-pit-entry.h"
+#include "ns3/ndn-interest-header.h"
+#include "ns3/ndn-content-object-header.h"
+#include "ns3/ndn-pit.h"
+#include "ns3/ndn-fib.h"
+#include "ns3/ndn-content-store.h"
#include "ns3/assert.h"
#include "ns3/ptr.h"
@@ -53,8 +53,8 @@
Nacks::GetTypeId (void)
{
static TypeId tid = TypeId ("ns3::ndnSIM::Nacks")
- .SetGroupName ("Ccnx")
- .SetParent<CcnxForwardingStrategy> ()
+ .SetGroupName ("Ndn")
+ .SetParent<NdnForwardingStrategy> ()
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
@@ -72,8 +72,8 @@
}
void
-Nacks::OnInterest (const Ptr<CcnxFace> &incomingFace,
- Ptr<CcnxInterestHeader> &header,
+Nacks::OnInterest (const Ptr<NdnFace> &incomingFace,
+ Ptr<NdnInterestHeader> &header,
const Ptr<const Packet> &packet)
{
if (header->GetNack () > 0)
@@ -83,8 +83,8 @@
}
void
-Nacks::OnNack (const Ptr<CcnxFace> &incomingFace,
- Ptr<CcnxInterestHeader> &header,
+Nacks::OnNack (const Ptr<NdnFace> &incomingFace,
+ Ptr<NdnInterestHeader> &header,
const Ptr<const Packet> &packet)
{
NS_ASSERT (m_nacksEnabled);
@@ -92,7 +92,7 @@
// NS_LOG_FUNCTION (incomingFace << header << packet);
m_inNacks (header, incomingFace);
- Ptr<CcnxPitEntry> pitEntry = m_pit->Lookup (*header);
+ Ptr<NdnPitEntry> pitEntry = m_pit->Lookup (*header);
if (pitEntry == 0)
{
// somebody is doing something bad
@@ -119,7 +119,7 @@
}
Ptr<Packet> nonNackInterest = Create<Packet> ();
- header->SetNack (CcnxInterestHeader::NORMAL_INTEREST);
+ header->SetNack (NdnInterestHeader::NORMAL_INTEREST);
nonNackInterest->AddHeader (*header);
bool propagated = DoPropagateInterest (incomingFace, header, nonNackInterest, pitEntry);
@@ -130,17 +130,17 @@
}
void
-Nacks::DidReceiveDuplicateInterest (const Ptr<CcnxFace> &incomingFace,
- Ptr<CcnxInterestHeader> &header,
+Nacks::DidReceiveDuplicateInterest (const Ptr<NdnFace> &incomingFace,
+ Ptr<NdnInterestHeader> &header,
const Ptr<const Packet> &packet,
- Ptr<CcnxPitEntry> pitEntry)
+ Ptr<NdnPitEntry> pitEntry)
{
super::DidReceiveDuplicateInterest (incomingFace, header, packet, pitEntry);
if (m_nacksEnabled)
{
NS_LOG_DEBUG ("Sending NACK_LOOP");
- header->SetNack (CcnxInterestHeader::NACK_LOOP);
+ header->SetNack (NdnInterestHeader::NACK_LOOP);
Ptr<Packet> nack = Create<Packet> ();
nack->AddHeader (*header);
@@ -150,20 +150,20 @@
}
void
-Nacks::DidExhaustForwardingOptions (const Ptr<CcnxFace> &incomingFace,
- Ptr<CcnxInterestHeader> header,
+Nacks::DidExhaustForwardingOptions (const Ptr<NdnFace> &incomingFace,
+ Ptr<NdnInterestHeader> header,
const Ptr<const Packet> &packet,
- Ptr<CcnxPitEntry> pitEntry)
+ Ptr<NdnPitEntry> pitEntry)
{
super::DidExhaustForwardingOptions (incomingFace, header, packet, pitEntry);
if (m_nacksEnabled)
{
Ptr<Packet> packet = Create<Packet> ();
- header->SetNack (CcnxInterestHeader::NACK_GIVEUP_PIT);
+ header->SetNack (NdnInterestHeader::NACK_GIVEUP_PIT);
packet->AddHeader (*header);
- BOOST_FOREACH (const CcnxPitEntryIncomingFace &incoming, pitEntry->GetIncoming ())
+ BOOST_FOREACH (const NdnPitEntryIncomingFace &incoming, pitEntry->GetIncoming ())
{
NS_LOG_DEBUG ("Send NACK for " << boost::cref (header->GetName ()) << " to " << boost::cref (*incoming.m_face));
incoming.m_face->Send (packet->Copy ());
@@ -183,18 +183,18 @@
}
void
-Nacks::DidReceiveValidNack (const Ptr<CcnxFace> &incomingFace,
+Nacks::DidReceiveValidNack (const Ptr<NdnFace> &incomingFace,
uint32_t nackCode,
- Ptr<CcnxPitEntry> pitEntry)
+ Ptr<NdnPitEntry> pitEntry)
{
// If NACK is NACK_GIVEUP_PIT, then neighbor gave up trying to and removed it's PIT entry.
// So, if we had an incoming entry to this neighbor, then we can remove it now
- if (nackCode == CcnxInterestHeader::NACK_GIVEUP_PIT)
+ if (nackCode == NdnInterestHeader::NACK_GIVEUP_PIT)
{
pitEntry->RemoveIncoming (incomingFace);
}
- pitEntry->GetFibEntry ()->UpdateStatus (incomingFace, CcnxFibFaceMetric::NDN_FIB_YELLOW);
+ pitEntry->GetFibEntry ()->UpdateStatus (incomingFace, NdnFibFaceMetric::NDN_FIB_YELLOW);
}
} // namespace ndnSIM
diff --git a/model/forwarding-strategy/nacks.h b/model/forwarding-strategy/nacks.h
index 81e478c..074f5ab 100644
--- a/model/forwarding-strategy/nacks.h
+++ b/model/forwarding-strategy/nacks.h
@@ -20,25 +20,25 @@
#ifndef NDNSIM_NACKS_H
#define NDNSIM_NACKS_H
-#include "ns3/ccnx-forwarding-strategy.h"
+#include "ns3/ndn-forwarding-strategy.h"
namespace ns3 {
namespace ndnSIM {
/**
- * \ingroup ccnx
- * \brief Abstract base class for CCNx forwarding strategies
+ * \ingroup ndn
+ * \brief Abstract base class for Ndn forwarding strategies
*/
class Nacks :
- public CcnxForwardingStrategy
+ public NdnForwardingStrategy
{
public:
static TypeId
GetTypeId (void);
/**
- * \brief Actual processing of incoming CCNx interests. Note, interests do not have payload
+ * \brief Actual processing of incoming Ndn interests. Note, interests do not have payload
*
* Processing Interest packets
* @param face incoming face
@@ -46,49 +46,49 @@
* @param packet original packet
*/
virtual void
- OnInterest (const Ptr<CcnxFace> &face,
- Ptr<CcnxInterestHeader> &header,
+ OnInterest (const Ptr<NdnFace> &face,
+ Ptr<NdnInterestHeader> &header,
const Ptr<const Packet> &p);
protected:
- // using CcnxForwardingStrategy::PropagateInterest; // some strange c++ cheating
+ // using NdnForwardingStrategy::PropagateInterest; // some strange c++ cheating
virtual void
- DidReceiveDuplicateInterest (const Ptr<CcnxFace> &face,
- Ptr<CcnxInterestHeader> &header,
+ DidReceiveDuplicateInterest (const Ptr<NdnFace> &face,
+ Ptr<NdnInterestHeader> &header,
const Ptr<const Packet> &packet,
- Ptr<CcnxPitEntry> pitEntry);
+ Ptr<NdnPitEntry> pitEntry);
virtual void
- DidExhaustForwardingOptions (const Ptr<CcnxFace> &incomingFace,
- Ptr<CcnxInterestHeader> header,
+ DidExhaustForwardingOptions (const Ptr<NdnFace> &incomingFace,
+ Ptr<NdnInterestHeader> header,
const Ptr<const Packet> &packet,
- Ptr<CcnxPitEntry> pitEntry);
+ Ptr<NdnPitEntry> pitEntry);
virtual void
- OnNack (const Ptr<CcnxFace> &face,
- Ptr<CcnxInterestHeader> &header,
+ OnNack (const Ptr<NdnFace> &face,
+ Ptr<NdnInterestHeader> &header,
const Ptr<const Packet> &p);
virtual void
- DidReceiveValidNack (const Ptr<CcnxFace> &incomingFace,
+ DidReceiveValidNack (const Ptr<NdnFace> &incomingFace,
uint32_t nackCode,
- Ptr<CcnxPitEntry> pitEntry);
+ Ptr<NdnPitEntry> pitEntry);
protected:
bool m_nacksEnabled;
- TracedCallback<Ptr<const CcnxInterestHeader>,
- Ptr<const CcnxFace> > m_outNacks; ///< @brief trace of outgoing NACKs
+ TracedCallback<Ptr<const NdnInterestHeader>,
+ Ptr<const NdnFace> > m_outNacks; ///< @brief trace of outgoing NACKs
- TracedCallback<Ptr<const CcnxInterestHeader>,
- Ptr<const CcnxFace> > m_inNacks; ///< @brief trace of incoming NACKs
+ TracedCallback<Ptr<const NdnInterestHeader>,
+ Ptr<const NdnFace> > m_inNacks; ///< @brief trace of incoming NACKs
- TracedCallback<Ptr<const CcnxInterestHeader>,
- Ptr<const CcnxFace> > m_dropNacks; ///< @brief trace of dropped NACKs
+ TracedCallback<Ptr<const NdnInterestHeader>,
+ Ptr<const NdnFace> > m_dropNacks; ///< @brief trace of dropped NACKs
private:
- typedef CcnxForwardingStrategy super;
+ typedef NdnForwardingStrategy super;
};
} // namespace ndnSIM
diff --git a/model/forwarding-strategy/ccnx-forwarding-strategy.cc b/model/forwarding-strategy/ndn-forwarding-strategy.cc
similarity index 70%
rename from model/forwarding-strategy/ccnx-forwarding-strategy.cc
rename to model/forwarding-strategy/ndn-forwarding-strategy.cc
index ddc4e51..dedd60f 100644
--- a/model/forwarding-strategy/ccnx-forwarding-strategy.cc
+++ b/model/forwarding-strategy/ndn-forwarding-strategy.cc
@@ -19,16 +19,16 @@
* Ilya Moiseenko <iliamo@cs.ucla.edu>
*/
-#include "ccnx-forwarding-strategy.h"
+#include "ndn-forwarding-strategy.h"
-#include "ns3/ccnx-pit.h"
-#include "ns3/ccnx-pit-entry.h"
-#include "ns3/ccnx-interest-header.h"
-#include "ns3/ccnx-content-object-header.h"
-#include "ns3/ccnx-pit.h"
-#include "ns3/ccnx-fib.h"
-#include "ns3/ccnx-content-store.h"
-#include "ns3/ccnx-face.h"
+#include "ns3/ndn-pit.h"
+#include "ns3/ndn-pit-entry.h"
+#include "ns3/ndn-interest-header.h"
+#include "ns3/ndn-content-object-header.h"
+#include "ns3/ndn-pit.h"
+#include "ns3/ndn-fib.h"
+#include "ns3/ndn-content-store.h"
+#include "ns3/ndn-face.h"
#include "ns3/assert.h"
#include "ns3/ptr.h"
@@ -44,77 +44,77 @@
#include <boost/tuple/tuple.hpp>
namespace ll = boost::lambda;
-NS_LOG_COMPONENT_DEFINE ("CcnxForwardingStrategy");
+NS_LOG_COMPONENT_DEFINE ("NdnForwardingStrategy");
namespace ns3 {
-using namespace __ccnx_private;
+using namespace __ndn_private;
-NS_OBJECT_ENSURE_REGISTERED (CcnxForwardingStrategy);
+NS_OBJECT_ENSURE_REGISTERED (NdnForwardingStrategy);
-TypeId CcnxForwardingStrategy::GetTypeId (void)
+TypeId NdnForwardingStrategy::GetTypeId (void)
{
- static TypeId tid = TypeId ("ns3::CcnxForwardingStrategy")
- .SetGroupName ("Ccnx")
+ static TypeId tid = TypeId ("ns3::NdnForwardingStrategy")
+ .SetGroupName ("Ndn")
.SetParent<Object> ()
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
- .AddTraceSource ("OutInterests", "OutInterests", MakeTraceSourceAccessor (&CcnxForwardingStrategy::m_outInterests))
- .AddTraceSource ("InInterests", "InInterests", MakeTraceSourceAccessor (&CcnxForwardingStrategy::m_inInterests))
- .AddTraceSource ("DropInterests", "DropInterests", MakeTraceSourceAccessor (&CcnxForwardingStrategy::m_dropInterests))
+ .AddTraceSource ("OutInterests", "OutInterests", MakeTraceSourceAccessor (&NdnForwardingStrategy::m_outInterests))
+ .AddTraceSource ("InInterests", "InInterests", MakeTraceSourceAccessor (&NdnForwardingStrategy::m_inInterests))
+ .AddTraceSource ("DropInterests", "DropInterests", MakeTraceSourceAccessor (&NdnForwardingStrategy::m_dropInterests))
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
- .AddTraceSource ("OutData", "OutData", MakeTraceSourceAccessor (&CcnxForwardingStrategy::m_outData))
- .AddTraceSource ("InData", "InData", MakeTraceSourceAccessor (&CcnxForwardingStrategy::m_inData))
- .AddTraceSource ("DropData", "DropData", MakeTraceSourceAccessor (&CcnxForwardingStrategy::m_dropData))
+ .AddTraceSource ("OutData", "OutData", MakeTraceSourceAccessor (&NdnForwardingStrategy::m_outData))
+ .AddTraceSource ("InData", "InData", MakeTraceSourceAccessor (&NdnForwardingStrategy::m_inData))
+ .AddTraceSource ("DropData", "DropData", MakeTraceSourceAccessor (&NdnForwardingStrategy::m_dropData))
.AddAttribute ("CacheUnsolicitedData", "Cache overheard data that have not been requested",
BooleanValue (false),
- MakeBooleanAccessor (&CcnxForwardingStrategy::m_cacheUnsolicitedData),
+ MakeBooleanAccessor (&NdnForwardingStrategy::m_cacheUnsolicitedData),
MakeBooleanChecker ())
.AddAttribute ("DetectRetransmissions", "If non-duplicate interest is received on the same face more than once, "
"it is considered a retransmission",
BooleanValue (true),
- MakeBooleanAccessor (&CcnxForwardingStrategy::m_detectRetransmissions),
+ MakeBooleanAccessor (&NdnForwardingStrategy::m_detectRetransmissions),
MakeBooleanChecker ())
;
return tid;
}
-CcnxForwardingStrategy::CcnxForwardingStrategy ()
+NdnForwardingStrategy::NdnForwardingStrategy ()
{
}
-CcnxForwardingStrategy::~CcnxForwardingStrategy ()
+NdnForwardingStrategy::~NdnForwardingStrategy ()
{
}
void
-CcnxForwardingStrategy::NotifyNewAggregate ()
+NdnForwardingStrategy::NotifyNewAggregate ()
{
if (m_pit == 0)
{
- m_pit = GetObject<CcnxPit> ();
+ m_pit = GetObject<NdnPit> ();
}
if (m_fib == 0)
{
- m_fib = GetObject<CcnxFib> ();
+ m_fib = GetObject<NdnFib> ();
}
if (m_contentStore == 0)
{
- m_contentStore = GetObject<CcnxContentStore> ();
+ m_contentStore = GetObject<NdnContentStore> ();
}
Object::NotifyNewAggregate ();
}
void
-CcnxForwardingStrategy::DoDispose ()
+NdnForwardingStrategy::DoDispose ()
{
m_pit = 0;
m_contentStore = 0;
@@ -124,13 +124,13 @@
}
void
-CcnxForwardingStrategy::OnInterest (const Ptr<CcnxFace> &incomingFace,
- Ptr<CcnxInterestHeader> &header,
+NdnForwardingStrategy::OnInterest (const Ptr<NdnFace> &incomingFace,
+ Ptr<NdnInterestHeader> &header,
const Ptr<const Packet> &packet)
{
m_inInterests (header, incomingFace);
- Ptr<CcnxPitEntry> pitEntry = m_pit->Lookup (*header);
+ Ptr<NdnPitEntry> pitEntry = m_pit->Lookup (*header);
if (pitEntry == 0)
{
pitEntry = m_pit->Create (header);
@@ -159,7 +159,7 @@
}
Ptr<Packet> contentObject;
- Ptr<const CcnxContentObjectHeader> contentObjectHeader; // used for tracing
+ Ptr<const NdnContentObjectHeader> contentObjectHeader; // used for tracing
Ptr<const Packet> payload; // used for tracing
boost::tie (contentObject, contentObjectHeader, payload) = m_contentStore->Lookup (header);
if (contentObject != 0)
@@ -192,8 +192,8 @@
}
void
-CcnxForwardingStrategy::OnData (const Ptr<CcnxFace> &incomingFace,
- Ptr<CcnxContentObjectHeader> &header,
+NdnForwardingStrategy::OnData (const Ptr<NdnFace> &incomingFace,
+ Ptr<NdnContentObjectHeader> &header,
Ptr<Packet> &payload,
const Ptr<const Packet> &packet)
{
@@ -201,7 +201,7 @@
m_inData (header, payload, incomingFace);
// Lookup PIT entry
- Ptr<CcnxPitEntry> pitEntry = m_pit->Lookup (*header);
+ Ptr<NdnPitEntry> pitEntry = m_pit->Lookup (*header);
if (pitEntry == 0)
{
DidReceiveUnsolicitedData (incomingFace, header, payload);
@@ -228,10 +228,10 @@
void
-CcnxForwardingStrategy::DidReceiveDuplicateInterest (const Ptr<CcnxFace> &incomingFace,
- Ptr<CcnxInterestHeader> &header,
+NdnForwardingStrategy::DidReceiveDuplicateInterest (const Ptr<NdnFace> &incomingFace,
+ Ptr<NdnInterestHeader> &header,
const Ptr<const Packet> &packet,
- Ptr<CcnxPitEntry> pitEntry)
+ Ptr<NdnPitEntry> pitEntry)
{
NS_LOG_FUNCTION (this << boost::cref (*incomingFace));
/////////////////////////////////////////////////////////////////////////////////////////
@@ -244,18 +244,18 @@
}
void
-CcnxForwardingStrategy::DidExhaustForwardingOptions (const Ptr<CcnxFace> &incomingFace,
- Ptr<CcnxInterestHeader> header,
+NdnForwardingStrategy::DidExhaustForwardingOptions (const Ptr<NdnFace> &incomingFace,
+ Ptr<NdnInterestHeader> header,
const Ptr<const Packet> &packet,
- Ptr<CcnxPitEntry> pitEntry)
+ Ptr<NdnPitEntry> pitEntry)
{
NS_LOG_FUNCTION (this << boost::cref (*incomingFace));
m_dropInterests (header, incomingFace);
}
void
-CcnxForwardingStrategy::FailedToCreatePitEntry (const Ptr<CcnxFace> &incomingFace,
- Ptr<CcnxInterestHeader> header,
+NdnForwardingStrategy::FailedToCreatePitEntry (const Ptr<NdnFace> &incomingFace,
+ Ptr<NdnInterestHeader> header,
const Ptr<const Packet> &packet)
{
NS_LOG_FUNCTION (this);
@@ -263,18 +263,18 @@
}
void
-CcnxForwardingStrategy::DidCreatePitEntry (const Ptr<CcnxFace> &incomingFace,
- Ptr<CcnxInterestHeader> header,
+NdnForwardingStrategy::DidCreatePitEntry (const Ptr<NdnFace> &incomingFace,
+ Ptr<NdnInterestHeader> header,
const Ptr<const Packet> &packet,
- Ptr<CcnxPitEntry> pitEntrypitEntry)
+ Ptr<NdnPitEntry> pitEntrypitEntry)
{
}
bool
-CcnxForwardingStrategy::DetectRetransmittedInterest (const Ptr<CcnxFace> &incomingFace,
- Ptr<CcnxPitEntry> pitEntry)
+NdnForwardingStrategy::DetectRetransmittedInterest (const Ptr<NdnFace> &incomingFace,
+ Ptr<NdnPitEntry> pitEntry)
{
- CcnxPitEntry::in_iterator inFace = pitEntry->GetIncoming ().find (incomingFace);
+ NdnPitEntry::in_iterator inFace = pitEntry->GetIncoming ().find (incomingFace);
bool isRetransmitted = false;
@@ -288,17 +288,17 @@
}
void
-CcnxForwardingStrategy::SatisfyPendingInterest (const Ptr<CcnxFace> &incomingFace,
- Ptr<const CcnxContentObjectHeader> header,
+NdnForwardingStrategy::SatisfyPendingInterest (const Ptr<NdnFace> &incomingFace,
+ Ptr<const NdnContentObjectHeader> header,
Ptr<const Packet> payload,
const Ptr<const Packet> &packet,
- Ptr<CcnxPitEntry> pitEntry)
+ Ptr<NdnPitEntry> pitEntry)
{
if (incomingFace != 0)
pitEntry->RemoveIncoming (incomingFace);
//satisfy all pending incoming Interests
- BOOST_FOREACH (const CcnxPitEntryIncomingFace &incoming, pitEntry->GetIncoming ())
+ BOOST_FOREACH (const NdnPitEntryIncomingFace &incoming, pitEntry->GetIncoming ())
{
bool ok = incoming.m_face->Send (packet->Copy ());
if (ok)
@@ -328,8 +328,8 @@
}
void
-CcnxForwardingStrategy::DidReceiveUnsolicitedData (const Ptr<CcnxFace> &incomingFace,
- Ptr<const CcnxContentObjectHeader> header,
+NdnForwardingStrategy::DidReceiveUnsolicitedData (const Ptr<NdnFace> &incomingFace,
+ Ptr<const NdnContentObjectHeader> header,
Ptr<const Packet> payload)
{
if (m_cacheUnsolicitedData)
@@ -348,10 +348,10 @@
}
void
-CcnxForwardingStrategy::WillSatisfyPendingInterest (const Ptr<CcnxFace> &incomingFace,
- Ptr<CcnxPitEntry> pitEntry)
+NdnForwardingStrategy::WillSatisfyPendingInterest (const Ptr<NdnFace> &incomingFace,
+ Ptr<NdnPitEntry> pitEntry)
{
- CcnxPitEntry::out_iterator out = pitEntry->GetOutgoing ().find (incomingFace);
+ NdnPitEntry::out_iterator out = pitEntry->GetOutgoing ().find (incomingFace);
// If we have sent interest for this data via this face, then update stats.
if (out != pitEntry->GetOutgoing ().end ())
@@ -361,8 +361,8 @@
}
bool
-CcnxForwardingStrategy::ShouldSuppressIncomingInterest (const Ptr<CcnxFace> &incomingFace,
- Ptr<CcnxPitEntry> pitEntry)
+NdnForwardingStrategy::ShouldSuppressIncomingInterest (const Ptr<NdnFace> &incomingFace,
+ Ptr<NdnPitEntry> pitEntry)
{
bool isNew = pitEntry->GetIncoming ().size () == 0 && pitEntry->GetOutgoing ().size () == 0;
@@ -382,7 +382,7 @@
// ?? not sure if we need to do that ?? ...
- // pitEntry->GetFibEntry ()->UpdateStatus (incomingFace, CcnxFibFaceMetric::NDN_FIB_YELLOW);
+ // pitEntry->GetFibEntry ()->UpdateStatus (incomingFace, NdnFibFaceMetric::NDN_FIB_YELLOW);
}
else
if (!isNew && !isRetransmitted)
@@ -394,10 +394,10 @@
}
void
-CcnxForwardingStrategy::PropagateInterest (const Ptr<CcnxFace> &incomingFace,
- Ptr<CcnxInterestHeader> header,
+NdnForwardingStrategy::PropagateInterest (const Ptr<NdnFace> &incomingFace,
+ Ptr<NdnInterestHeader> header,
const Ptr<const Packet> &packet,
- Ptr<CcnxPitEntry> pitEntry)
+ Ptr<NdnPitEntry> pitEntry)
{
bool isRetransmitted = m_detectRetransmissions && // a small guard
DetectRetransmittedInterest (incomingFace, pitEntry);
@@ -427,11 +427,11 @@
}
bool
-CcnxForwardingStrategy::WillSendOutInterest (const Ptr<CcnxFace> &outgoingFace,
- Ptr<CcnxInterestHeader> header,
- Ptr<CcnxPitEntry> pitEntry)
+NdnForwardingStrategy::WillSendOutInterest (const Ptr<NdnFace> &outgoingFace,
+ Ptr<NdnInterestHeader> header,
+ Ptr<NdnPitEntry> pitEntry)
{
- CcnxPitEntryOutgoingFaceContainer::type::iterator outgoing =
+ NdnPitEntryOutgoingFaceContainer::type::iterator outgoing =
pitEntry->GetOutgoing ().find (outgoingFace);
if (outgoing != pitEntry->GetOutgoing ().end () &&
@@ -451,31 +451,31 @@
}
void
-CcnxForwardingStrategy::DidSendOutInterest (const Ptr<CcnxFace> &outgoingFace,
- Ptr<CcnxInterestHeader> header,
+NdnForwardingStrategy::DidSendOutInterest (const Ptr<NdnFace> &outgoingFace,
+ Ptr<NdnInterestHeader> header,
const Ptr<const Packet> &packet,
- Ptr<CcnxPitEntry> pitEntry)
+ Ptr<NdnPitEntry> pitEntry)
{
m_outInterests (header, outgoingFace);
}
void
-CcnxForwardingStrategy::DidSendOutData (const Ptr<CcnxFace> &face,
- Ptr<const CcnxContentObjectHeader> header,
+NdnForwardingStrategy::DidSendOutData (const Ptr<NdnFace> &face,
+ Ptr<const NdnContentObjectHeader> header,
Ptr<const Packet> payload,
const Ptr<const Packet> &packet)
{
}
void
-CcnxForwardingStrategy::WillErasePendingInterest (Ptr<CcnxPitEntry> pitEntry)
+NdnForwardingStrategy::WillErasePendingInterest (Ptr<NdnPitEntry> pitEntry)
{
// do nothing for now. may be need to do some logging
}
void
-CcnxForwardingStrategy::RemoveFace (Ptr<CcnxFace> face)
+NdnForwardingStrategy::RemoveFace (Ptr<NdnFace> face)
{
// do nothing here
}
diff --git a/model/forwarding-strategy/ndn-forwarding-strategy.h b/model/forwarding-strategy/ndn-forwarding-strategy.h
new file mode 100644
index 0000000..c2fa296
--- /dev/null
+++ b/model/forwarding-strategy/ndn-forwarding-strategy.h
@@ -0,0 +1,235 @@
+/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil -*- */
+/*
+ * Copyright (c) 2011 University of California, Los Angeles
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation;
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ * Author: Alexander Afanasyev <alexander.afanasyev@ucla.edu>
+ * Ilya Moiseenko <iliamo@cs.ucla.edu>
+ */
+#ifndef NDN_FORWARDING_STRATEGY_H
+#define NDN_FORWARDING_STRATEGY_H
+
+#include "ns3/packet.h"
+#include "ns3/callback.h"
+#include "ns3/object.h"
+#include "ns3/traced-callback.h"
+
+namespace ns3 {
+
+class NdnFace;
+class NdnInterestHeader;
+class NdnContentObjectHeader;
+class NdnPit;
+class NdnPitEntry;
+class NdnFibFaceMetric;
+class NdnFib;
+class NdnContentStore;
+
+/**
+ * \ingroup ndn
+ * \brief Abstract base class for Ndn forwarding strategies
+ */
+class NdnForwardingStrategy :
+ public Object
+{
+public:
+ static TypeId GetTypeId (void);
+
+ /**
+ * @brief Default constructor
+ */
+ NdnForwardingStrategy ();
+ virtual ~NdnForwardingStrategy ();
+
+ /**
+ * \brief Actual processing of incoming Ndn interests. Note, interests do not have payload
+ *
+ * Processing Interest packets
+ * @param face incoming face
+ * @param header deserialized Interest header
+ * @param packet original packet
+ */
+ virtual void
+ OnInterest (const Ptr<NdnFace> &face,
+ Ptr<NdnInterestHeader> &header,
+ const Ptr<const Packet> &p);
+
+ /**
+ * \brief Actual processing of incoming Ndn content objects
+ *
+ * Processing ContentObject packets
+ * @param face incoming face
+ * @param header deserialized ContentObject header
+ * @param payload data packet payload
+ * @param packet original packet
+ */
+ virtual void
+ OnData (const Ptr<NdnFace> &face,
+ Ptr<NdnContentObjectHeader> &header,
+ Ptr<Packet> &payload,
+ const Ptr<const Packet> &packet);
+
+ virtual void
+ WillErasePendingInterest (Ptr<NdnPitEntry> pitEntry);
+
+ virtual void
+ RemoveFace (Ptr<NdnFace> face);
+
+protected:
+ // events
+ virtual void
+ DidReceiveDuplicateInterest (const Ptr<NdnFace> &face,
+ Ptr<NdnInterestHeader> &header,
+ const Ptr<const Packet> &packet,
+ Ptr<NdnPitEntry> pitEntry);
+
+ virtual void
+ DidExhaustForwardingOptions (const Ptr<NdnFace> &incomingFace,
+ Ptr<NdnInterestHeader> header,
+ const Ptr<const Packet> &packet,
+ Ptr<NdnPitEntry> pitEntry);
+
+ virtual void
+ FailedToCreatePitEntry (const Ptr<NdnFace> &incomingFace,
+ Ptr<NdnInterestHeader> header,
+ const Ptr<const Packet> &packet);
+
+ virtual void
+ DidCreatePitEntry (const Ptr<NdnFace> &incomingFace,
+ Ptr<NdnInterestHeader> header,
+ const Ptr<const Packet> &packet,
+ Ptr<NdnPitEntry> pitEntry);
+
+ virtual bool
+ DetectRetransmittedInterest (const Ptr<NdnFace> &incomingFace,
+ Ptr<NdnPitEntry> pitEntry);
+
+ // makes sense only for data received from network
+ // When Interest is satisfied from the cache, incoming face is 0
+ virtual void
+ WillSatisfyPendingInterest (const Ptr<NdnFace> &incomingFace,
+ Ptr<NdnPitEntry> pitEntry);
+
+ // for data received both from network and cache
+ virtual void
+ SatisfyPendingInterest (const Ptr<NdnFace> &incomingFace, // 0 allowed (from cache)
+ Ptr<const NdnContentObjectHeader> header,
+ Ptr<const Packet> payload,
+ const Ptr<const Packet> &packet,
+ Ptr<NdnPitEntry> pitEntry);
+
+ virtual void
+ DidSendOutData (const Ptr<NdnFace> &face,
+ Ptr<const NdnContentObjectHeader> header,
+ Ptr<const Packet> payload,
+ const Ptr<const Packet> &packet);
+
+ virtual void
+ DidReceiveUnsolicitedData (const Ptr<NdnFace> &incomingFace,
+ Ptr<const NdnContentObjectHeader> header,
+ Ptr<const Packet> payload);
+
+ virtual bool
+ ShouldSuppressIncomingInterest (const Ptr<NdnFace> &incomingFace,
+ Ptr<NdnPitEntry> pitEntry);
+
+ /**
+ * @brief Event fired before actually sending out an interest
+ *
+ * If event returns false, then there is some kind of a problem (e.g., per-face limit reached)
+ */
+ virtual bool
+ WillSendOutInterest (const Ptr<NdnFace> &outgoingFace,
+ Ptr<NdnInterestHeader> header,
+ Ptr<NdnPitEntry> pitEntry);
+
+ /**
+ * @brief Event fired just after sending out an interest
+ */
+ virtual void
+ DidSendOutInterest (const Ptr<NdnFace> &outgoingFace,
+ Ptr<NdnInterestHeader> header,
+ const Ptr<const Packet> &packet,
+ Ptr<NdnPitEntry> pitEntry);
+
+ virtual void
+ PropagateInterest (const Ptr<NdnFace> &incomingFace,
+ Ptr<NdnInterestHeader> header,
+ const Ptr<const Packet> &packet,
+ Ptr<NdnPitEntry> pitEntry);
+
+ /**
+ * @brief Base method to propagate the interest according to the forwarding strategy
+ *
+ * @param pitEntry Reference to PIT entry (reference to corresponding FIB entry inside)
+ * @param incomingFace Incoming face
+ * @param header NdnInterestHeader
+ * @param packet Original Interest packet
+ * @param sendCallback Send callback
+ *
+ * @return true if interest was successfully propagated, false if all options have failed
+ */
+ virtual bool
+ DoPropagateInterest (const Ptr<NdnFace> &incomingFace,
+ Ptr<NdnInterestHeader> header,
+ const Ptr<const Packet> &packet,
+ Ptr<NdnPitEntry> pitEntry) = 0;
+
+
+ // virtual void
+ // OnDataDelayed (Ptr<const NdnContentObjectHeader> header,
+ // Ptr<const Packet> payload,
+ // const Ptr<const Packet> &packet);
+
+protected:
+ // inherited from Object class
+ virtual void NotifyNewAggregate (); ///< @brief Even when object is aggregated to another Object
+ virtual void DoDispose (); ///< @brief Do cleanup
+
+protected:
+ Ptr<NdnPit> m_pit; ///< \brief Reference to PIT to which this forwarding strategy is associated
+ Ptr<NdnFib> m_fib; ///< \brief FIB
+ Ptr<NdnContentStore> m_contentStore; ///< \brief Content store (for caching purposes only)
+
+ bool m_cacheUnsolicitedData;
+ bool m_detectRetransmissions;
+
+ TracedCallback<Ptr<const NdnInterestHeader>,
+ Ptr<const NdnFace> > m_outInterests; ///< @brief Transmitted interests trace
+
+ TracedCallback<Ptr<const NdnInterestHeader>,
+ Ptr<const NdnFace> > m_inInterests; ///< @brief trace of incoming Interests
+
+ TracedCallback<Ptr<const NdnInterestHeader>,
+ Ptr<const NdnFace> > m_dropInterests; ///< @brief trace of dropped Interests
+
+ ////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////
+
+ TracedCallback<Ptr<const NdnContentObjectHeader>, Ptr<const Packet>,
+ bool /*from cache*/,
+ Ptr<const NdnFace> > m_outData; ///< @brief trace of outgoing Data
+
+ TracedCallback<Ptr<const NdnContentObjectHeader>, Ptr<const Packet>,
+ Ptr<const NdnFace> > m_inData; ///< @brief trace of incoming Data
+
+ TracedCallback<Ptr<const NdnContentObjectHeader>, Ptr<const Packet>,
+ Ptr<const NdnFace> > m_dropData; ///< @brief trace of dropped Data
+};
+
+} //namespace ns3
+
+#endif /* NDN_FORWARDING_STRATEGY_H */
diff --git a/model/forwarding-strategy/smart-flooding.cc b/model/forwarding-strategy/smart-flooding.cc
index a7d0167..58a56a2 100644
--- a/model/forwarding-strategy/smart-flooding.cc
+++ b/model/forwarding-strategy/smart-flooding.cc
@@ -20,9 +20,9 @@
#include "smart-flooding.h"
-#include "ns3/ccnx-interest-header.h"
-#include "ns3/ccnx-pit.h"
-#include "ns3/ccnx-pit-entry.h"
+#include "ns3/ndn-interest-header.h"
+#include "ns3/ndn-pit.h"
+#include "ns3/ndn-pit-entry.h"
#include "ns3/assert.h"
#include "ns3/log.h"
@@ -39,7 +39,7 @@
namespace ns3 {
-using namespace __ccnx_private;
+using namespace __ndn_private;
namespace ndnSIM {
@@ -49,7 +49,7 @@
SmartFlooding::GetTypeId (void)
{
static TypeId tid = TypeId ("ns3::ndnSIM::SmartFloodingy")
- .SetGroupName ("Ccnx")
+ .SetGroupName ("Ndn")
.SetParent <GreenYellowRed> ()
.AddConstructor <SmartFlooding> ()
;
@@ -61,10 +61,10 @@
}
bool
-SmartFlooding::DoPropagateInterest (const Ptr<CcnxFace> &incomingFace,
- Ptr<CcnxInterestHeader> header,
+SmartFlooding::DoPropagateInterest (const Ptr<NdnFace> &incomingFace,
+ Ptr<NdnInterestHeader> header,
const Ptr<const Packet> &packet,
- Ptr<CcnxPitEntry> pitEntry)
+ Ptr<NdnPitEntry> pitEntry)
{
NS_LOG_FUNCTION (this);
@@ -75,10 +75,10 @@
int propagatedCount = 0;
- BOOST_FOREACH (const CcnxFibFaceMetric &metricFace, pitEntry->GetFibEntry ()->m_faces.get<i_metric> ())
+ BOOST_FOREACH (const NdnFibFaceMetric &metricFace, pitEntry->GetFibEntry ()->m_faces.get<i_metric> ())
{
NS_LOG_DEBUG ("Trying " << boost::cref(metricFace));
- if (metricFace.m_status == CcnxFibFaceMetric::NDN_FIB_RED) // all non-read faces are in the front of the list
+ if (metricFace.m_status == NdnFibFaceMetric::NDN_FIB_RED) // all non-read faces are in the front of the list
break;
if (metricFace.m_face == incomingFace)
diff --git a/model/forwarding-strategy/smart-flooding.h b/model/forwarding-strategy/smart-flooding.h
index 840ce6a..c939015 100644
--- a/model/forwarding-strategy/smart-flooding.h
+++ b/model/forwarding-strategy/smart-flooding.h
@@ -42,10 +42,10 @@
// inherited
virtual bool
- DoPropagateInterest (const Ptr<CcnxFace> &incomingFace,
- Ptr<CcnxInterestHeader> header,
+ DoPropagateInterest (const Ptr<NdnFace> &incomingFace,
+ Ptr<NdnInterestHeader> header,
const Ptr<const Packet> &packet,
- Ptr<CcnxPitEntry> pitEntry);
+ Ptr<NdnPitEntry> pitEntry);
private:
typedef GreenYellowRed super;
diff --git a/model/ndn-app-face.cc b/model/ndn-app-face.cc
new file mode 100644
index 0000000..55cee9b
--- /dev/null
+++ b/model/ndn-app-face.cc
@@ -0,0 +1,145 @@
+/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil -*- */
+/*
+ * Copyright (c) 2011 University of California, Los Angeles
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation;
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ * Author: Alexander Afanasyev <alexander.afanasyev@ucla.edu>
+ * Ilya Moiseenko <iliamo@cs.ucla.edu>
+ *
+ */
+
+#include "ndn-app-face.h"
+
+#include "ns3/log.h"
+#include "ns3/packet.h"
+#include "ns3/node.h"
+#include "ns3/assert.h"
+#include "ns3/simulator.h"
+
+#include "ns3/ndn-header-helper.h"
+#include "ns3/ndn-app.h"
+
+#include "ndn-interest-header.h"
+#include "ndn-content-object-header.h"
+
+NS_LOG_COMPONENT_DEFINE ("NdnAppFace");
+
+namespace ns3
+{
+
+NS_OBJECT_ENSURE_REGISTERED (NdnAppFace);
+
+TypeId
+NdnAppFace::GetTypeId ()
+{
+ static TypeId tid = TypeId ("ns3::NdnAppFace")
+ .SetParent<NdnFace> ()
+ .SetGroupName ("Ndn")
+ ;
+ return tid;
+}
+
+NdnAppFace::NdnAppFace (Ptr<NdnApp> app)
+ : NdnFace (app->GetNode ())
+ , m_app (app)
+{
+ NS_LOG_FUNCTION (this << app);
+
+ NS_ASSERT (m_app != 0);
+}
+
+NdnAppFace::~NdnAppFace ()
+{
+ NS_LOG_FUNCTION_NOARGS ();
+}
+
+NdnAppFace::NdnAppFace ()
+ : NdnFace (0)
+{
+}
+
+NdnAppFace::NdnAppFace (const NdnAppFace &)
+ : NdnFace (0)
+{
+}
+
+NdnAppFace& NdnAppFace::operator= (const NdnAppFace &)
+{
+ return *((NdnAppFace*)0);
+}
+
+
+void
+NdnAppFace::RegisterProtocolHandler (ProtocolHandler handler)
+{
+ NS_LOG_FUNCTION (this);
+
+ NdnFace::RegisterProtocolHandler (handler);
+
+ m_app->RegisterProtocolHandler (MakeCallback (&NdnFace::Receive, this));
+}
+
+bool
+NdnAppFace::SendImpl (Ptr<Packet> p)
+{
+ NS_LOG_FUNCTION (this << p);
+
+ try
+ {
+ NdnHeaderHelper::Type type = NdnHeaderHelper::GetNdnHeaderType (p);
+ switch (type)
+ {
+ case NdnHeaderHelper::INTEREST:
+ {
+ Ptr<NdnInterestHeader> header = Create<NdnInterestHeader> ();
+ p->RemoveHeader (*header);
+
+ if (header->GetNack () > 0)
+ m_app->OnNack (header, p);
+ else
+ m_app->OnInterest (header, p);
+
+ break;
+ }
+ case NdnHeaderHelper::CONTENT_OBJECT:
+ {
+ static NdnContentObjectTail tail;
+ Ptr<NdnContentObjectHeader> header = Create<NdnContentObjectHeader> ();
+ p->RemoveHeader (*header);
+ p->RemoveTrailer (tail);
+ m_app->OnContentObject (header, p/*payload*/);
+
+ break;
+ }
+ }
+
+ return true;
+ }
+ catch (NdnUnknownHeaderException)
+ {
+ NS_LOG_ERROR ("Unknown header type");
+ return false;
+ }
+}
+
+std::ostream&
+NdnAppFace::Print (std::ostream& os) const
+{
+ os << "dev=local(" << GetId() << ")";
+ return os;
+}
+
+}; // namespace ns3
+
diff --git a/model/ccnx-app-face.h b/model/ndn-app-face.h
similarity index 67%
rename from model/ccnx-app-face.h
rename to model/ndn-app-face.h
index 967ee13..9a9d2c5 100644
--- a/model/ccnx-app-face.h
+++ b/model/ndn-app-face.h
@@ -19,31 +19,31 @@
Ilya Moiseenko <iliamo@cs.ucla.edu>
*/
-#ifndef CCNX_APP_FACE_H
-#define CCNX_APP_FACE_H
+#ifndef NDN_APP_FACE_H
+#define NDN_APP_FACE_H
-#include "ccnx-face.h"
+#include "ndn-face.h"
#include "ns3/traced-callback.h"
namespace ns3
{
-class CcnxInterestHeader;
-class CcnxContentObjectHeader;
+class NdnInterestHeader;
+class NdnContentObjectHeader;
class Packet;
-class CcnxApp;
+class NdnApp;
/**
- * \ingroup ccnx-face
- * \brief Implementation of application CCNx face
+ * \ingroup ndn-face
+ * \brief Implementation of application Ndn face
*
- * This class defines basic functionality of CCNx face. Face is core
+ * This class defines basic functionality of Ndn face. Face is core
* component responsible for actual delivery of data packet to and
- * from CCNx stack
+ * from Ndn stack
*
- * \see CcnxAppFace, CcnxNetDeviceFace, CcnxIpv4Face, CcnxUdpFace
+ * \see NdnAppFace, NdnNetDeviceFace, NdnIpv4Face, NdnUdpFace
*/
-class CcnxAppFace : public CcnxFace
+class NdnAppFace : public NdnFace
{
public:
static TypeId
@@ -52,11 +52,11 @@
/**
* \brief Default constructor
*/
- CcnxAppFace (Ptr<CcnxApp> app);
- virtual ~CcnxAppFace();
+ NdnAppFace (Ptr<NdnApp> app);
+ virtual ~NdnAppFace();
////////////////////////////////////////////////////////////////////
- // methods overloaded from CcnxFace
+ // methods overloaded from NdnFace
virtual void
RegisterProtocolHandler (ProtocolHandler handler);
@@ -70,14 +70,14 @@
////////////////////////////////////////////////////////////////////
private:
- CcnxAppFace ();
- CcnxAppFace (const CcnxAppFace &); ///< \brief Disabled copy constructor
- CcnxAppFace& operator= (const CcnxAppFace &); ///< \brief Disabled copy operator
+ NdnAppFace ();
+ NdnAppFace (const NdnAppFace &); ///< \brief Disabled copy constructor
+ NdnAppFace& operator= (const NdnAppFace &); ///< \brief Disabled copy operator
private:
- Ptr<CcnxApp> m_app;
+ Ptr<NdnApp> m_app;
};
} // namespace ns3
-#endif // CCNX_APP_FACE_H
+#endif // NDN_APP_FACE_H
diff --git a/model/ccnx-content-object-header.cc b/model/ndn-content-object-header.cc
similarity index 83%
rename from model/ccnx-content-object-header.cc
rename to model/ndn-content-object-header.cc
index f11296c..2a480d8 100644
--- a/model/ccnx-content-object-header.cc
+++ b/model/ndn-content-object-header.cc
@@ -1,4 +1,4 @@
-/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil -*- */
+/* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil -*- */
/*
* Copyright (c) 2011 University of California, Los Angeles
*
@@ -19,11 +19,11 @@
* Alexander Afanasyev <alexander.afanasyev@ucla.edu>
*/
-#include "ccnx-content-object-header.h"
+#include "ndn-content-object-header.h"
#include "ns3/log.h"
-#include "../helper/ccnx-encoding-helper.h"
-#include "../helper/ccnx-decoding-helper.h"
+#include "../helper/ndn-encoding-helper.h"
+#include "../helper/ndn-decoding-helper.h"
#include "../helper/ccnb-parser/ccnb-parser-common.h"
#include "../helper/ccnb-parser/visitors/ccnb-parser-void-depth-first-visitor.h"
@@ -39,56 +39,56 @@
#include <boost/foreach.hpp>
-NS_LOG_COMPONENT_DEFINE ("CcnxContentObjectHeader");
+NS_LOG_COMPONENT_DEFINE ("NdnContentObjectHeader");
using namespace ns3::CcnbParser;
namespace ns3
{
-const std::string CcnxContentObjectHeader::Signature::DefaultDigestAlgorithm = "2.16.840.1.101.3.4.2.1";
+const std::string NdnContentObjectHeader::Signature::DefaultDigestAlgorithm = "2.16.840.1.101.3.4.2.1";
-NS_OBJECT_ENSURE_REGISTERED (CcnxContentObjectHeader);
-NS_OBJECT_ENSURE_REGISTERED (CcnxContentObjectTail);
+NS_OBJECT_ENSURE_REGISTERED (NdnContentObjectHeader);
+NS_OBJECT_ENSURE_REGISTERED (NdnContentObjectTail);
TypeId
-CcnxContentObjectHeader::GetTypeId (void)
+NdnContentObjectHeader::GetTypeId (void)
{
- static TypeId tid = TypeId ("ns3::CcnxContentObjectHeader")
- .SetGroupName ("Ccnx")
+ static TypeId tid = TypeId ("ns3::NdnContentObjectHeader")
+ .SetGroupName ("ndn")
.SetParent<Header> ()
- .AddConstructor<CcnxContentObjectHeader> ()
+ .AddConstructor<NdnContentObjectHeader> ()
;
return tid;
}
-CcnxContentObjectHeader::CcnxContentObjectHeader ()
+NdnContentObjectHeader::NdnContentObjectHeader ()
{
}
void
-CcnxContentObjectHeader::SetName (const Ptr<CcnxNameComponents> &name)
+NdnContentObjectHeader::SetName (const Ptr<NdnNameComponents> &name)
{
m_name = name;
}
-const CcnxNameComponents&
-CcnxContentObjectHeader::GetName () const
+const NdnNameComponents&
+NdnContentObjectHeader::GetName () const
{
- if (m_name==0) throw CcnxContentObjectHeaderException();
+ if (m_name==0) throw NdnContentObjectHeaderException();
return *m_name;
}
-Ptr<const CcnxNameComponents>
-CcnxContentObjectHeader::GetNamePtr () const
+Ptr<const NdnNameComponents>
+NdnContentObjectHeader::GetNamePtr () const
{
return m_name;
}
-#define CCNB CcnxEncodingHelper // just to simplify writing
+#define CCNB NdnEncodingHelper // just to simplify writing
void
-CcnxContentObjectHeader::Serialize (Buffer::Iterator start) const
+NdnContentObjectHeader::Serialize (Buffer::Iterator start) const
{
size_t written = 0;
written += CCNB::AppendBlockHeader (start, CCN_DTAG_ContentObject, CcnbParser::CCN_DTAG); // <ContentObject>
@@ -159,11 +159,11 @@
written += CCNB::AppendBlockHeader (start, CCN_DTAG_Content, CCN_DTAG); // <Content>
// there are no closing tags !!!
- // The closing tag is handled by CcnxContentObjectTail
+ // The closing tag is handled by NdnContentObjectTail
}
uint32_t
-CcnxContentObjectHeader::GetSerializedSize () const
+NdnContentObjectHeader::GetSerializedSize () const
{
size_t written = 0;
written += CCNB::EstimateBlockHeader (CCN_DTAG_ContentObject); // <ContentObject>
@@ -232,7 +232,7 @@
written += CCNB::EstimateBlockHeader (CCN_DTAG_Content); // <Content>
// there are no closing tags !!!
- // The closing tag is handled by CcnxContentObjectTail
+ // The closing tag is handled by NdnContentObjectTail
return written;
}
#undef CCNB
@@ -240,7 +240,7 @@
class ContentObjectVisitor : public VoidDepthFirstVisitor
{
public:
- virtual void visit (Dtag &n, boost::any param/*should be CcnxContentObjectHeader* */)
+ virtual void visit (Dtag &n, boost::any param/*should be NdnContentObjectHeader* */)
{
// uint32_t n.m_dtag;
// std::list<Ptr<Block> > n.m_nestedBlocks;
@@ -251,7 +251,7 @@
static Uint32tBlobVisitor uint32tBlobVisitor;
static ContentTypeVisitor contentTypeVisitor;
- CcnxContentObjectHeader &contentObject = *(boost::any_cast<CcnxContentObjectHeader*> (param));
+ NdnContentObjectHeader &contentObject = *(boost::any_cast<NdnContentObjectHeader*> (param));
switch (n.m_dtag)
{
@@ -265,7 +265,7 @@
case CCN_DTAG_Name:
{
// process name components
- Ptr<CcnxNameComponents> name = Create<CcnxNameComponents> ();
+ Ptr<NdnNameComponents> name = Create<NdnNameComponents> ();
BOOST_FOREACH (Ptr<Block> block, n.m_nestedTags)
{
@@ -337,7 +337,7 @@
throw CcnbDecodingException ();
contentObject.GetSignedInfo ().SetContentType
- (static_cast<CcnxContentObjectHeader::ContentType>
+ (static_cast<NdnContentObjectHeader::ContentType>
(boost::any_cast<uint32_t> ((*n.m_nestedTags.begin())->accept
(contentTypeVisitor))));
break;
@@ -372,7 +372,7 @@
throw CcnbDecodingException ();
// process name components
- Ptr<CcnxNameComponents> name = Create<CcnxNameComponents> ();
+ Ptr<NdnNameComponents> name = Create<NdnNameComponents> ();
BOOST_FOREACH (Ptr<Block> block, nameTag->m_nestedTags)
{
@@ -394,7 +394,7 @@
};
uint32_t
-CcnxContentObjectHeader::Deserialize (Buffer::Iterator start)
+NdnContentObjectHeader::Deserialize (Buffer::Iterator start)
{
static ContentObjectVisitor contentObjectVisitor;
@@ -406,13 +406,13 @@
}
TypeId
-CcnxContentObjectHeader::GetInstanceTypeId (void) const
+NdnContentObjectHeader::GetInstanceTypeId (void) const
{
return GetTypeId ();
}
void
-CcnxContentObjectHeader::Print (std::ostream &os) const
+NdnContentObjectHeader::Print (std::ostream &os) const
{
os << "D: " << GetName ();
// os << "<ContentObject><Name>" << GetName () << "</Name><Content>";
@@ -420,40 +420,40 @@
////////////////////////////////////////////////////////////////////////////////////////////////////
-CcnxContentObjectTail::CcnxContentObjectTail ()
+NdnContentObjectTail::NdnContentObjectTail ()
{
}
TypeId
-CcnxContentObjectTail::GetTypeId (void)
+NdnContentObjectTail::GetTypeId (void)
{
- static TypeId tid = TypeId ("ns3::CcnxContentObjectTail")
+ static TypeId tid = TypeId ("ns3::NdnContentObjectTail")
.SetParent<Trailer> ()
- .AddConstructor<CcnxContentObjectTail> ()
+ .AddConstructor<NdnContentObjectTail> ()
;
return tid;
}
TypeId
-CcnxContentObjectTail::GetInstanceTypeId (void) const
+NdnContentObjectTail::GetInstanceTypeId (void) const
{
return GetTypeId ();
}
void
-CcnxContentObjectTail::Print (std::ostream &os) const
+NdnContentObjectTail::Print (std::ostream &os) const
{
os << "</Content></ContentObject>";
}
uint32_t
-CcnxContentObjectTail::GetSerializedSize (void) const
+NdnContentObjectTail::GetSerializedSize (void) const
{
return 2;
}
void
-CcnxContentObjectTail::Serialize (Buffer::Iterator start) const
+NdnContentObjectTail::Serialize (Buffer::Iterator start) const
{
Buffer::Iterator i = start;
i.Prev (2); // Trailer interface requires us to go backwards
@@ -463,7 +463,7 @@
}
uint32_t
-CcnxContentObjectTail::Deserialize (Buffer::Iterator start)
+NdnContentObjectTail::Deserialize (Buffer::Iterator start)
{
Buffer::Iterator i = start;
i.Prev (2); // Trailer interface requires us to go backwards
@@ -481,7 +481,7 @@
///////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////
-CcnxContentObjectHeader::SignedInfo::SignedInfo ()
+NdnContentObjectHeader::SignedInfo::SignedInfo ()
: m_publisherPublicKeyDigest (0)
// , m_timestamp
, m_type (DATA)
@@ -492,61 +492,61 @@
}
void
-CcnxContentObjectHeader::SignedInfo::SetPublisherPublicKeyDigest (uint32_t digest)
+NdnContentObjectHeader::SignedInfo::SetPublisherPublicKeyDigest (uint32_t digest)
{
m_publisherPublicKeyDigest = digest;
}
uint32_t
-CcnxContentObjectHeader::SignedInfo::GetPublisherPublicKeyDigest () const
+NdnContentObjectHeader::SignedInfo::GetPublisherPublicKeyDigest () const
{
return m_publisherPublicKeyDigest;
}
void
-CcnxContentObjectHeader::SignedInfo::SetTimestamp (const Time ×tamp)
+NdnContentObjectHeader::SignedInfo::SetTimestamp (const Time ×tamp)
{
m_timestamp = timestamp;
}
Time
-CcnxContentObjectHeader::SignedInfo::GetTimestamp () const
+NdnContentObjectHeader::SignedInfo::GetTimestamp () const
{
return m_timestamp;
}
void
-CcnxContentObjectHeader::SignedInfo::SetContentType (CcnxContentObjectHeader::ContentType type)
+NdnContentObjectHeader::SignedInfo::SetContentType (NdnContentObjectHeader::ContentType type)
{
m_type = type;
}
-CcnxContentObjectHeader::ContentType
-CcnxContentObjectHeader::SignedInfo::GetContentType () const
+NdnContentObjectHeader::ContentType
+NdnContentObjectHeader::SignedInfo::GetContentType () const
{
return m_type;
}
void
-CcnxContentObjectHeader::SignedInfo::SetFreshness (const Time &freshness)
+NdnContentObjectHeader::SignedInfo::SetFreshness (const Time &freshness)
{
m_freshness = freshness;
}
Time
-CcnxContentObjectHeader::SignedInfo::GetFreshness () const
+NdnContentObjectHeader::SignedInfo::GetFreshness () const
{
return m_freshness;
}
void
-CcnxContentObjectHeader::SignedInfo::SetKeyLocator (Ptr<const CcnxNameComponents> keyLocator)
+NdnContentObjectHeader::SignedInfo::SetKeyLocator (Ptr<const NdnNameComponents> keyLocator)
{
m_keyLocator = keyLocator;
}
-Ptr<const CcnxNameComponents>
-CcnxContentObjectHeader::SignedInfo::GetKeyLocator () const
+Ptr<const NdnNameComponents>
+NdnContentObjectHeader::SignedInfo::GetKeyLocator () const
{
return m_keyLocator;
}
diff --git a/model/ccnx-content-object-header.h b/model/ndn-content-object-header.h
similarity index 85%
rename from model/ccnx-content-object-header.h
rename to model/ndn-content-object-header.h
index c563f70..0266cc9 100644
--- a/model/ccnx-content-object-header.h
+++ b/model/ndn-content-object-header.h
@@ -19,8 +19,8 @@
* Alexander Afanasyev <alexander.afanasyev@ucla.edu>
*/
-#ifndef _CCNX_CONTENT_OBJECT_HEADER_H_
-#define _CCNX_CONTENT_OBJECT_HEADER_H_
+#ifndef _NDN_CONTENT_OBJECT_HEADER_H_
+#define _NDN_CONTENT_OBJECT_HEADER_H_
#include "ns3/integer.h"
#include "ns3/header.h"
@@ -32,13 +32,13 @@
#include <vector>
#include <list>
-#include "ccnx-name-components.h"
+#include "ndn-name-components.h"
namespace ns3
{
/**
- * CCNx XML definition of ContentObject
+ * Ndn XML definition of ContentObject
*
* Only few important fields are actually implemented in the simulation
*
@@ -51,7 +51,7 @@
* "<ContentObject><Signature>..</Signature><Name>...</Name><SignedInfo>...</SignedInfo><Content>"
*
*/
-class CcnxContentObjectHeader : public SimpleRefCount<CcnxContentObjectHeader,Header>
+class NdnContentObjectHeader : public SimpleRefCount<NdnContentObjectHeader,Header>
{
public:
////////////////////////////////////////////////////////////////////////////
@@ -195,14 +195,14 @@
* Note that only <KeyName> option for the key locator is supported
*/
void
- SetKeyLocator (Ptr<const CcnxNameComponents> keyLocator);
+ SetKeyLocator (Ptr<const NdnNameComponents> keyLocator);
/**
* @brief Get key locator
*
* Note that only <KeyName> option for the key locator is supported
*/
- Ptr<const CcnxNameComponents>
+ Ptr<const NdnNameComponents>
GetKeyLocator () const;
private:
@@ -211,7 +211,7 @@
ContentType m_type;
Time m_freshness;
// FinalBlockID
- Ptr<const CcnxNameComponents> m_keyLocator; // support only <KeyName> option for KeyLocator
+ Ptr<const NdnNameComponents> m_keyLocator; // support only <KeyName> option for KeyLocator
};
////////////////////////////////////////////////////////////////////////////
@@ -226,26 +226,26 @@
*
* Creates a null header
**/
- CcnxContentObjectHeader ();
+ NdnContentObjectHeader ();
/**
* \brief Set content object name
*
- * Sets name of the content object. For example, SetName( CcnxNameComponents("prefix")("postfix") );
+ * Sets name of the content object. For example, SetName( NdnNameComponents("prefix")("postfix") );
**/
void
- SetName (const Ptr<CcnxNameComponents> &name);
+ SetName (const Ptr<NdnNameComponents> &name);
/**
* @brief Get name of the content object
*/
- const CcnxNameComponents&
+ const NdnNameComponents&
GetName () const;
/**
* @brief Get smart pointer to the interest name (to avoid extra memory usage)
*/
- Ptr<const CcnxNameComponents>
+ Ptr<const NdnNameComponents>
GetNamePtr () const;
/**
@@ -283,7 +283,7 @@
private:
Signature m_signature;
- Ptr<CcnxNameComponents> m_name;
+ Ptr<NdnNameComponents> m_name;
SignedInfo m_signedInfo;
};
@@ -291,10 +291,10 @@
* ContentObjectTail should always be 2 bytes, representing two closing tags:
* "</Content><ContentObject>"
*/
-class CcnxContentObjectTail : public Trailer
+class NdnContentObjectTail : public Trailer
{
public:
- CcnxContentObjectTail ();
+ NdnContentObjectTail ();
//////////////////////////////////////////////////////////////////
static TypeId GetTypeId (void); ///< @brief Get TypeId
@@ -306,57 +306,57 @@
};
-CcnxContentObjectHeader::Signature::Signature ()
+NdnContentObjectHeader::Signature::Signature ()
: m_digestAlgorithm ("99.0")
, m_signatureBits (0)
{
}
const std::string &
-CcnxContentObjectHeader::Signature::GetDigestAlgorithm () const
+NdnContentObjectHeader::Signature::GetDigestAlgorithm () const
{
return m_digestAlgorithm;
}
void
-CcnxContentObjectHeader::Signature::SetDigestAlgorithm (const std::string &digestAlgorithm)
+NdnContentObjectHeader::Signature::SetDigestAlgorithm (const std::string &digestAlgorithm)
{
m_digestAlgorithm = digestAlgorithm;
}
uint32_t
-CcnxContentObjectHeader::Signature::GetSignatureBits () const
+NdnContentObjectHeader::Signature::GetSignatureBits () const
{
return m_signatureBits;
}
inline void
-CcnxContentObjectHeader::Signature::SetSignatureBits (uint32_t signature)
+NdnContentObjectHeader::Signature::SetSignatureBits (uint32_t signature)
{
m_signatureBits = signature;
}
-CcnxContentObjectHeader::Signature &
-CcnxContentObjectHeader::GetSignature ()
+NdnContentObjectHeader::Signature &
+NdnContentObjectHeader::GetSignature ()
{
return m_signature;
}
-const CcnxContentObjectHeader::Signature &
-CcnxContentObjectHeader::GetSignature () const
+const NdnContentObjectHeader::Signature &
+NdnContentObjectHeader::GetSignature () const
{
return m_signature;
}
-CcnxContentObjectHeader::SignedInfo &
-CcnxContentObjectHeader::GetSignedInfo ()
+NdnContentObjectHeader::SignedInfo &
+NdnContentObjectHeader::GetSignedInfo ()
{
return m_signedInfo;
}
-const CcnxContentObjectHeader::SignedInfo &
-CcnxContentObjectHeader::GetSignedInfo () const
+const NdnContentObjectHeader::SignedInfo &
+NdnContentObjectHeader::GetSignedInfo () const
{
return m_signedInfo;
}
@@ -364,8 +364,8 @@
/**
* @brief Class for ContentObject parsing exception
*/
-class CcnxContentObjectHeaderException {};
+class NdnContentObjectHeaderException {};
} // namespace ns3
-#endif // _CCNX_CONTENT_OBJECT_HEADER_H_
+#endif // _NDN_CONTENT_OBJECT_HEADER_H_
diff --git a/model/ccnx-face.cc b/model/ndn-face.cc
similarity index 74%
rename from model/ccnx-face.cc
rename to model/ndn-face.cc
index ba9e4ec..316b1df 100644
--- a/model/ccnx-face.cc
+++ b/model/ndn-face.cc
@@ -19,7 +19,7 @@
*
*/
-#include "ccnx-face.h"
+#include "ndn-face.h"
#include "ns3/packet.h"
#include "ns3/log.h"
@@ -35,64 +35,64 @@
#include <boost/ref.hpp>
-NS_LOG_COMPONENT_DEFINE ("CcnxFace");
+NS_LOG_COMPONENT_DEFINE ("NdnFace");
namespace ns3 {
-NS_OBJECT_ENSURE_REGISTERED (CcnxFace);
+NS_OBJECT_ENSURE_REGISTERED (NdnFace);
TypeId
-CcnxFace::GetTypeId ()
+NdnFace::GetTypeId ()
{
- static TypeId tid = TypeId ("ns3::CcnxFace")
+ static TypeId tid = TypeId ("ns3::NdnFace")
.SetParent<Object> ()
- .SetGroupName ("Ccnx")
- .AddAttribute ("Id", "Face id (unique integer for the CCNx stack on this node)",
+ .SetGroupName ("Ndn")
+ .AddAttribute ("Id", "Face id (unique integer for the Ndn stack on this node)",
TypeId::ATTR_GET, // allow only getting it.
UintegerValue (0),
- MakeUintegerAccessor (&CcnxFace::m_id),
+ MakeUintegerAccessor (&NdnFace::m_id),
MakeUintegerChecker<uint32_t> ())
.AddAttribute ("BucketMax", "Maximum size of leaky bucket",
DoubleValue (-1.0),
- MakeDoubleAccessor (&CcnxFace::m_bucketMax),
+ MakeDoubleAccessor (&NdnFace::m_bucketMax),
MakeDoubleChecker<double> ())
.AddAttribute ("BucketLeak", "Normalized bucket leak size",
DoubleValue (0.0),
- MakeDoubleAccessor (&CcnxFace::m_bucketLeak),
+ MakeDoubleAccessor (&NdnFace::m_bucketLeak),
MakeDoubleChecker<double> ())
.AddAttribute ("RandomizeLimitChecking", "Whether or not to randomize the limit checking procedure. false (persistent) by default",
BooleanValue (false),
- MakeBooleanAccessor (&CcnxFace::m_randomizeLimitChecking),
+ MakeBooleanAccessor (&NdnFace::m_randomizeLimitChecking),
MakeBooleanChecker ())
// .AddAttribute ("MetricTagging", "Enable metric tagging (path-stretch calculation)",
// BooleanValue (false),
- // MakeBooleanAccessor (&CcnxFace::m_enableMetricTagging),
+ // MakeBooleanAccessor (&NdnFace::m_enableMetricTagging),
// MakeBooleanChecker ())
- .AddTraceSource ("CcnxTx", "Transmitted packet trace",
- MakeTraceSourceAccessor (&CcnxFace::m_ccnxTxTrace))
- .AddTraceSource ("CcnxRx", "Received packet trace",
- MakeTraceSourceAccessor (&CcnxFace::m_ccnxRxTrace))
- .AddTraceSource ("CcnxDrop", "Dropped packet trace",
- MakeTraceSourceAccessor (&CcnxFace::m_ccnxDropTrace))
+ .AddTraceSource ("NdnTx", "Transmitted packet trace",
+ MakeTraceSourceAccessor (&NdnFace::m_ndnTxTrace))
+ .AddTraceSource ("NdnRx", "Received packet trace",
+ MakeTraceSourceAccessor (&NdnFace::m_ndnRxTrace))
+ .AddTraceSource ("NdnDrop", "Dropped packet trace",
+ MakeTraceSourceAccessor (&NdnFace::m_ndnDropTrace))
;
return tid;
}
/**
- * By default, Ccnx face are created in the "down" state
+ * By default, Ndn face are created in the "down" state
* with no IP addresses. Before becoming useable, the user must
- * invoke SetUp on them once an Ccnx address and mask have been set.
+ * invoke SetUp on them once an Ndn address and mask have been set.
*/
-CcnxFace::CcnxFace (Ptr<Node> node)
+NdnFace::NdnFace (Ptr<Node> node)
: m_node (node)
, m_bucket (0.0)
, m_bucketMax (-1.0)
, m_bucketLeak (0.0)
- , m_protocolHandler (MakeNullCallback<void,const Ptr<CcnxFace>&,const Ptr<const Packet>&> ())
+ , m_protocolHandler (MakeNullCallback<void,const Ptr<NdnFace>&,const Ptr<const Packet>&> ())
, m_ifup (false)
, m_id ((uint32_t)-1)
, m_lastLeakTime (0)
@@ -104,28 +104,28 @@
NS_ASSERT_MSG (node != 0, "node cannot be NULL. Check the code");
}
-CcnxFace::~CcnxFace ()
+NdnFace::~NdnFace ()
{
NS_LOG_FUNCTION_NOARGS ();
}
-CcnxFace::CcnxFace (const CcnxFace &)
+NdnFace::NdnFace (const NdnFace &)
{
}
-CcnxFace& CcnxFace::operator= (const CcnxFace &)
+NdnFace& NdnFace::operator= (const NdnFace &)
{
return *this;
}
Ptr<Node>
-CcnxFace::GetNode () const
+NdnFace::GetNode () const
{
return m_node;
}
void
-CcnxFace::RegisterProtocolHandler (ProtocolHandler handler)
+NdnFace::RegisterProtocolHandler (ProtocolHandler handler)
{
NS_LOG_FUNCTION_NOARGS ();
@@ -133,14 +133,14 @@
}
bool
-CcnxFace::IsBelowLimit ()
+NdnFace::IsBelowLimit ()
{
NS_LOG_FUNCTION_NOARGS ();
/// \todo Implement tracing, if requested
if (!IsUp ()){
- NS_LOG_INFO("CcnxFace is not up.");
+ NS_LOG_INFO("NdnFace is not up.");
return false;
}
@@ -182,14 +182,14 @@
}
bool
-CcnxFace::Send (Ptr<Packet> packet)
+NdnFace::Send (Ptr<Packet> packet)
{
NS_LOG_FUNCTION (boost::cref (*this) << packet << packet->GetSize ());
NS_LOG_DEBUG (*packet);
if (!IsUp ())
{
- m_ccnxDropTrace (packet);
+ m_ndnDropTrace (packet);
return false;
}
@@ -214,18 +214,18 @@
bool ok = SendImpl (packet);
if (ok)
{
- m_ccnxTxTrace (packet);
+ m_ndnTxTrace (packet);
return true;
}
else
{
- m_ccnxDropTrace (packet);
+ m_ndnDropTrace (packet);
return false;
}
}
bool
-CcnxFace::Receive (const Ptr<const Packet> &packet)
+NdnFace::Receive (const Ptr<const Packet> &packet)
{
NS_LOG_FUNCTION (boost::cref (*this) << packet << packet->GetSize ());
@@ -235,14 +235,14 @@
return false;
}
- m_ccnxRxTrace (packet);
+ m_ndnRxTrace (packet);
m_protocolHandler (this, packet);
return true;
}
void
-CcnxFace::LeakBucket ()
+NdnFace::LeakBucket ()
{
if (m_lastLeakTime.IsZero ())
{
@@ -262,28 +262,28 @@
}
void
-CcnxFace::SetBucketMax (double bucket)
+NdnFace::SetBucketMax (double bucket)
{
NS_LOG_FUNCTION (this << bucket);
m_bucketMax = bucket;
}
void
-CcnxFace::SetBucketLeak (double leak)
+NdnFace::SetBucketLeak (double leak)
{
NS_LOG_FUNCTION (this << leak);
m_bucketLeak = leak;
}
void
-CcnxFace::SetMetric (uint16_t metric)
+NdnFace::SetMetric (uint16_t metric)
{
NS_LOG_FUNCTION (metric);
m_metric = metric;
}
uint16_t
-CcnxFace::GetMetric (void) const
+NdnFace::GetMetric (void) const
{
NS_LOG_FUNCTION_NOARGS ();
return m_metric;
@@ -296,21 +296,21 @@
*/
bool
-CcnxFace::IsUp (void) const
+NdnFace::IsUp (void) const
{
NS_LOG_FUNCTION_NOARGS ();
return m_ifup;
}
void
-CcnxFace::SetUp (bool up/* = true*/)
+NdnFace::SetUp (bool up/* = true*/)
{
NS_LOG_FUNCTION_NOARGS ();
m_ifup = up;
}
bool
-CcnxFace::operator== (const CcnxFace &face) const
+NdnFace::operator== (const NdnFace &face) const
{
NS_ASSERT_MSG (m_node->GetId () == face.m_node->GetId (),
"Faces of different nodes should not be compared to each other");
@@ -319,7 +319,7 @@
}
bool
-CcnxFace::operator< (const CcnxFace &face) const
+NdnFace::operator< (const NdnFace &face) const
{
NS_ASSERT_MSG (m_node->GetId () == face.m_node->GetId (),
"Faces of different nodes should not be compared to each other");
@@ -328,13 +328,14 @@
}
std::ostream&
-CcnxFace::Print (std::ostream &os) const
+NdnFace::Print (std::ostream &os) const
{
os << "id=" << GetId ();
return os;
}
-std::ostream& operator<< (std::ostream& os, const CcnxFace &face)
+std::ostream&
+operator<< (std::ostream& os, const NdnFace &face)
{
face.Print (os);
return os;
diff --git a/model/ccnx-face.h b/model/ndn-face.h
similarity index 80%
rename from model/ccnx-face.h
rename to model/ndn-face.h
index 25b0082..e785ac9 100644
--- a/model/ccnx-face.h
+++ b/model/ndn-face.h
@@ -18,14 +18,14 @@
* Authors: Alexander Afanasyev <alexander.afanasyev@ucla.edu>
*/
-#ifndef CCNX_FACE_H
-#define CCNX_FACE_H
+#ifndef NDN_FACE_H
+#define NDN_FACE_H
#include <ostream>
#include <algorithm>
#include "ns3/ptr.h"
-#include "ns3/ccnx.h"
+#include "ns3/ndn.h"
#include "ns3/nstime.h"
#include "ns3/type-id.h"
@@ -35,38 +35,38 @@
class Node;
/**
- * \ingroup ccnx
- * \defgroup ccnx-face Faces
+ * \ingroup ndn
+ * \defgroup ndn-face Faces
*/
/**
- * \ingroup ccnx-face
- * \brief Virtual class defining CCNx face
+ * \ingroup ndn-face
+ * \brief Virtual class defining Ndn face
*
- * This class defines basic functionality of CCNx face. Face is core
+ * This class defines basic functionality of Ndn face. Face is core
* component responsible for actual delivery of data packet to and
- * from CCNx stack
+ * from Ndn stack
*
- * \see CcnxLocalFace, CcnxNetDeviceFace, CcnxIpv4Face, CcnxUdpFace
+ * \see NdnLocalFace, NdnNetDeviceFace, NdnIpv4Face, NdnUdpFace
*/
-class CcnxFace : public Object
+class NdnFace : public Object
{
public:
static TypeId
GetTypeId ();
/**
- * \brief Ccnx protocol handler
+ * \brief Ndn protocol handler
*
* \param face Face from which packet has been received
* \param packet Original packet
*/
- typedef Callback<void,const Ptr<CcnxFace>&,const Ptr<const Packet>& > ProtocolHandler;
+ typedef Callback<void,const Ptr<NdnFace>&,const Ptr<const Packet>& > ProtocolHandler;
/**
* \brief Default constructor
*/
- CcnxFace (Ptr<Node> node);
- virtual ~CcnxFace();
+ NdnFace (Ptr<Node> node);
+ virtual ~NdnFace();
/**
* @brief Get node to which this face is associated
@@ -107,7 +107,7 @@
Send (Ptr<Packet> p);
/**
- * \brief Receive packet from application or another node and forward it to the CCNx stack
+ * \brief Receive packet from application or another node and forward it to the Ndn stack
*
* \todo The only reason for this call is to handle tracing, if requested
*/
@@ -132,7 +132,7 @@
/**
* These are face states and may be distinct from actual lower-layer
* device states, such as found in real implementations (where the
- * device may be down but ccnx face state is still up).
+ * device may be down but ndn face state is still up).
*/
/**
@@ -201,7 +201,7 @@
* Internal index is used for comparison.
*/
bool
- operator== (const CcnxFace &face) const;
+ operator== (const NdnFace &face) const;
/**
* \brief Compare two faces. Only two faces on the same node could be compared.
@@ -209,7 +209,7 @@
* Internal index is used for comparison.
*/
inline bool
- operator!= (const CcnxFace &face) const;
+ operator!= (const NdnFace &face) const;
/**
* \brief Compare two faces. Only two faces on the same node could be compared.
@@ -217,7 +217,7 @@
* Internal index is used for comparison.
*/
bool
- operator< (const CcnxFace &face) const;
+ operator< (const NdnFace &face) const;
protected:
/**
@@ -229,8 +229,8 @@
SendImpl (Ptr<Packet> p) = 0;
private:
- CcnxFace (const CcnxFace &); ///< \brief Disabled copy constructor
- CcnxFace& operator= (const CcnxFace &); ///< \brief Disabled copy operator
+ NdnFace (const NdnFace &); ///< \brief Disabled copy constructor
+ NdnFace& operator= (const NdnFace &); ///< \brief Disabled copy operator
protected:
// uint16_t m_metric; ///< \brief Routing/forwarding metric
@@ -241,42 +241,42 @@
double m_bucketLeak; ///< \brief Normalized amount that should be leaked every second
private:
- ProtocolHandler m_protocolHandler; ///< Callback via which packets are getting send to CCNx stack
+ ProtocolHandler m_protocolHandler; ///< Callback via which packets are getting send to Ndn stack
bool m_ifup; ///< \brief flag indicating that the interface is UP
- uint32_t m_id; ///< \brief id of the interface in CCNx stack (per-node uniqueness)
+ uint32_t m_id; ///< \brief id of the interface in Ndn stack (per-node uniqueness)
Time m_lastLeakTime;
uint32_t m_metric; ///< \brief metric of the face
bool m_randomizeLimitChecking;
// bool m_enableMetricTagging;
- TracedCallback<Ptr<const Packet> > m_ccnxTxTrace;
- TracedCallback<Ptr<const Packet> > m_ccnxRxTrace;
- TracedCallback<Ptr<const Packet> > m_ccnxDropTrace;
+ TracedCallback<Ptr<const Packet> > m_ndnTxTrace;
+ TracedCallback<Ptr<const Packet> > m_ndnRxTrace;
+ TracedCallback<Ptr<const Packet> > m_ndnDropTrace;
};
-std::ostream& operator<< (std::ostream& os, const CcnxFace &face);
+std::ostream& operator<< (std::ostream& os, const NdnFace &face);
inline bool
-operator < (const Ptr<CcnxFace> &lhs, const Ptr<CcnxFace> &rhs)
+operator < (const Ptr<NdnFace> &lhs, const Ptr<NdnFace> &rhs)
{
return *lhs < *rhs;
}
void
-CcnxFace::SetId (uint32_t id)
+NdnFace::SetId (uint32_t id)
{
m_id = id;
}
uint32_t
-CcnxFace::GetId () const
+NdnFace::GetId () const
{
return m_id;
}
inline bool
-CcnxFace::operator!= (const CcnxFace &face) const
+NdnFace::operator!= (const NdnFace &face) const
{
return !(*this == face);
}
@@ -284,4 +284,4 @@
} // namespace ns3
-#endif //CCNX_FACE_H
+#endif //NDN_FACE_H
diff --git a/model/ndn-global-router.cc b/model/ndn-global-router.cc
new file mode 100644
index 0000000..816dc88
--- /dev/null
+++ b/model/ndn-global-router.cc
@@ -0,0 +1,106 @@
+/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil -*- */
+/*
+ * Copyright (c) 2011 UCLA
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation;
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ * Author: Alexander Afanasyev <alexander.afanasyev@ucla.edu>
+ */
+
+#include "ndn-global-router.h"
+
+#include "ns3/ndn.h"
+#include "ns3/ndn-face.h"
+#include "ns3/ndn-name-components.h"
+
+#include "ns3/channel.h"
+
+using namespace boost;
+
+namespace ns3 {
+
+uint32_t NdnGlobalRouter::m_idCounter = 0;
+
+NS_OBJECT_ENSURE_REGISTERED (NdnGlobalRouter);
+
+TypeId
+NdnGlobalRouter::GetTypeId ()
+{
+ static TypeId tid = TypeId ("ns3::NdnGlobalRouter")
+ .SetGroupName ("Ndn")
+ .SetParent<Object> ()
+ ;
+ return tid;
+}
+
+NdnGlobalRouter::NdnGlobalRouter ()
+{
+ m_id = m_idCounter;
+ m_idCounter ++;
+}
+
+void
+NdnGlobalRouter::NotifyNewAggregate ()
+{
+ if (m_ndn == 0)
+ {
+ m_ndn = GetObject<Ndn> ();
+ }
+ Object::NotifyNewAggregate ();
+}
+
+uint32_t
+NdnGlobalRouter::GetId () const
+{
+ return m_id;
+}
+
+Ptr<Ndn>
+NdnGlobalRouter::GetNdn () const
+{
+ return m_ndn;
+}
+
+void
+NdnGlobalRouter::AddLocalPrefix (Ptr< NdnNameComponents > prefix)
+{
+ m_localPrefixes.push_back (prefix);
+}
+
+void
+NdnGlobalRouter::AddIncidency (Ptr< NdnFace > face, Ptr< NdnGlobalRouter > gr)
+{
+ m_incidencies.push_back (make_tuple (this, face, gr));
+}
+
+NdnGlobalRouter::IncidencyList &
+NdnGlobalRouter::GetIncidencies ()
+{
+ return m_incidencies;
+}
+
+const NdnGlobalRouter::LocalPrefixList &
+NdnGlobalRouter::GetLocalPrefixes () const
+{
+ return m_localPrefixes;
+}
+
+// void
+// NdnGlobalRouter::AddIncidencyChannel (Ptr< NdnFace > face, Ptr< Channel > channel)
+// {
+// m_incidenciesChannel.push_back (make_tuple (face, channel));
+// }
+
+}
+
diff --git a/model/ccnx-global-router.h b/model/ndn-global-router.h
similarity index 72%
rename from model/ccnx-global-router.h
rename to model/ndn-global-router.h
index a35c08b..f1475a3 100644
--- a/model/ccnx-global-router.h
+++ b/model/ndn-global-router.h
@@ -18,8 +18,8 @@
* Author: Alexander Afanasyev <alexander.afanasyev@ucla.edu>
*/
-#ifndef CCNX_GLOBAL_ROUTER_H
-#define CCNX_GLOBAL_ROUTER_H
+#ifndef NDN_GLOBAL_ROUTER_H
+#define NDN_GLOBAL_ROUTER_H
#include "ns3/object.h"
#include "ns3/ptr.h"
@@ -30,20 +30,20 @@
namespace ns3 {
class Channel;
-class Ccnx;
-class CcnxFace;
-class CcnxNameComponents;
+class Ndn;
+class NdnFace;
+class NdnNameComponents;
/**
* @brief Class representing global router interface for ndnSIM
*/
-class CcnxGlobalRouter : public Object
+class NdnGlobalRouter : public Object
{
public:
/**
* @brief Graph edge
*/
- typedef boost::tuple< Ptr< CcnxGlobalRouter >, Ptr< CcnxFace >, Ptr< CcnxGlobalRouter > > Incidency;
+ typedef boost::tuple< Ptr< NdnGlobalRouter >, Ptr< NdnFace >, Ptr< NdnGlobalRouter > > Incidency;
/**
* @brief List of graph edges
*/
@@ -51,7 +51,7 @@
/**
* @brief List of locally exported prefixes
*/
- typedef std::list< Ptr<CcnxNameComponents> > LocalPrefixList;
+ typedef std::list< Ptr<NdnNameComponents> > LocalPrefixList;
/**
* \brief Interface ID
@@ -64,7 +64,7 @@
/**
* @brief Default constructor
*/
- CcnxGlobalRouter ();
+ NdnGlobalRouter ();
/**
* @brief Get numeric ID of the node (internally assigned)
@@ -73,25 +73,25 @@
GetId () const;
/**
- * @brief Helper function to get smart pointer to Ccnx object (basically, self)
+ * @brief Helper function to get smart pointer to Ndn object (basically, self)
*/
- Ptr<Ccnx>
- GetCcnx () const;
+ Ptr<Ndn>
+ GetNdn () const;
/**
* @brief Add new locally exported prefix
* @param prefix Prefix
*/
void
- AddLocalPrefix (Ptr< CcnxNameComponents > prefix);
+ AddLocalPrefix (Ptr< NdnNameComponents > prefix);
/**
* @brief Add edge to the node
* @param face Face of the edge
- * @param ccnx CcnxGlobalRouter of another node
+ * @param ndn NdnGlobalRouter of another node
*/
void
- AddIncidency (Ptr< CcnxFace > face, Ptr< CcnxGlobalRouter > ccnx);
+ AddIncidency (Ptr< NdnFace > face, Ptr< NdnGlobalRouter > ndn);
/**
* @brief Get list of edges that are connected to this node
@@ -113,7 +113,7 @@
private:
uint32_t m_id;
- Ptr<Ccnx> m_ccnx;
+ Ptr<Ndn> m_ndn;
LocalPrefixList m_localPrefixes;
IncidencyList m_incidencies;
@@ -121,8 +121,8 @@
};
inline bool
-operator == (const CcnxGlobalRouter::Incidency &a,
- const CcnxGlobalRouter::Incidency &b)
+operator == (const NdnGlobalRouter::Incidency &a,
+ const NdnGlobalRouter::Incidency &b)
{
return a.get<0> () == b.get<0> () &&
a.get<1> () == b.get<1> () &&
@@ -130,12 +130,12 @@
}
inline bool
-operator != (const CcnxGlobalRouter::Incidency &a,
- const CcnxGlobalRouter::Incidency &b)
+operator != (const NdnGlobalRouter::Incidency &a,
+ const NdnGlobalRouter::Incidency &b)
{
return ! (a == b);
}
}
-#endif // CCNX_GLOBAL_ROUTER_H
+#endif // NDN_GLOBAL_ROUTER_H
diff --git a/model/ccnx-interest-header.cc b/model/ndn-interest-header.cc
similarity index 62%
rename from model/ccnx-interest-header.cc
rename to model/ndn-interest-header.cc
index 2c7e798..192cae5 100644
--- a/model/ccnx-interest-header.cc
+++ b/model/ndn-interest-header.cc
@@ -23,33 +23,33 @@
///< #CCN_PR_SCOPE1 (0x40) this host,
///< #CCN_PR_SCOPE2 (0x80) immediate neighborhood
-#include "ccnx-interest-header.h"
+#include "ndn-interest-header.h"
#include "ns3/log.h"
#include "ns3/unused.h"
-#include "../helper/ccnx-encoding-helper.h"
-#include "../helper/ccnx-decoding-helper.h"
+#include "../helper/ndn-encoding-helper.h"
+#include "../helper/ndn-decoding-helper.h"
-NS_LOG_COMPONENT_DEFINE ("CcnxInterestHeader");
+NS_LOG_COMPONENT_DEFINE ("NdnInterestHeader");
namespace ns3
{
-NS_OBJECT_ENSURE_REGISTERED (CcnxInterestHeader);
+NS_OBJECT_ENSURE_REGISTERED (NdnInterestHeader);
TypeId
-CcnxInterestHeader::GetTypeId (void)
+NdnInterestHeader::GetTypeId (void)
{
- static TypeId tid = TypeId ("ns3::CcnxInterestHeader")
- .SetGroupName ("Ccnx")
+ static TypeId tid = TypeId ("ns3::NdnInterestHeader")
+ .SetGroupName ("Ndn")
.SetParent<Header> ()
- .AddConstructor<CcnxInterestHeader> ()
+ .AddConstructor<NdnInterestHeader> ()
;
return tid;
}
-CcnxInterestHeader::CcnxInterestHeader ()
+NdnInterestHeader::NdnInterestHeader ()
: m_minSuffixComponents (-1)
, m_maxSuffixComponents (-1)
, m_childSelector (false)
@@ -62,168 +62,168 @@
}
void
-CcnxInterestHeader::SetName (const Ptr<CcnxNameComponents> &name)
+NdnInterestHeader::SetName (const Ptr<NdnNameComponents> &name)
{
m_name = name;
}
-const CcnxNameComponents&
-CcnxInterestHeader::GetName () const
+const NdnNameComponents&
+NdnInterestHeader::GetName () const
{
- if (m_name==0) throw CcnxInterestHeaderException();
+ if (m_name==0) throw NdnInterestHeaderException();
return *m_name;
}
-Ptr<const CcnxNameComponents>
-CcnxInterestHeader::GetNamePtr () const
+Ptr<const NdnNameComponents>
+NdnInterestHeader::GetNamePtr () const
{
return m_name;
}
void
-CcnxInterestHeader::SetMinSuffixComponents (int32_t value)
+NdnInterestHeader::SetMinSuffixComponents (int32_t value)
{
m_minSuffixComponents = value;
}
int32_t
-CcnxInterestHeader::GetMinSuffixComponents () const
+NdnInterestHeader::GetMinSuffixComponents () const
{
return m_minSuffixComponents;
}
void
-CcnxInterestHeader::SetMaxSuffixComponents (int32_t value)
+NdnInterestHeader::SetMaxSuffixComponents (int32_t value)
{
m_maxSuffixComponents = value;
}
int32_t
-CcnxInterestHeader::GetMaxSuffixComponents () const
+NdnInterestHeader::GetMaxSuffixComponents () const
{
return m_maxSuffixComponents;
}
void
-CcnxInterestHeader::SetExclude (const Ptr<CcnxNameComponents> &exclude)
+NdnInterestHeader::SetExclude (const Ptr<NdnNameComponents> &exclude)
{
m_exclude = exclude;
}
bool
-CcnxInterestHeader::IsEnabledExclude () const
+NdnInterestHeader::IsEnabledExclude () const
{
return m_exclude!=0;
}
-const CcnxNameComponents&
-CcnxInterestHeader::GetExclude () const
+const NdnNameComponents&
+NdnInterestHeader::GetExclude () const
{
- if (m_exclude==0) throw CcnxInterestHeaderException();
+ if (m_exclude==0) throw NdnInterestHeaderException();
return *m_exclude;
}
void
-CcnxInterestHeader::SetChildSelector (bool value)
+NdnInterestHeader::SetChildSelector (bool value)
{
m_childSelector = value;
}
bool
-CcnxInterestHeader::IsEnabledChildSelector () const
+NdnInterestHeader::IsEnabledChildSelector () const
{
return m_childSelector;
}
void
-CcnxInterestHeader::SetAnswerOriginKind (bool value)
+NdnInterestHeader::SetAnswerOriginKind (bool value)
{
m_answerOriginKind = value;
}
bool
-CcnxInterestHeader::IsEnabledAnswerOriginKind () const
+NdnInterestHeader::IsEnabledAnswerOriginKind () const
{
return m_answerOriginKind;
}
void
-CcnxInterestHeader::SetScope (int8_t scope)
+NdnInterestHeader::SetScope (int8_t scope)
{
m_scope = scope;
}
int8_t
-CcnxInterestHeader::GetScope () const
+NdnInterestHeader::GetScope () const
{
return m_scope;
}
void
-CcnxInterestHeader::SetInterestLifetime (Time lifetime)
+NdnInterestHeader::SetInterestLifetime (Time lifetime)
{
m_interestLifetime = lifetime;
}
Time
-CcnxInterestHeader::GetInterestLifetime () const
+NdnInterestHeader::GetInterestLifetime () const
{
return m_interestLifetime;
}
void
-CcnxInterestHeader::SetNonce (uint32_t nonce)
+NdnInterestHeader::SetNonce (uint32_t nonce)
{
m_nonce = nonce;
}
uint32_t
-CcnxInterestHeader::GetNonce () const
+NdnInterestHeader::GetNonce () const
{
return m_nonce;
}
void
-CcnxInterestHeader::SetNack (uint32_t nackType)
+NdnInterestHeader::SetNack (uint32_t nackType)
{
m_nackType = nackType;
}
uint32_t
-CcnxInterestHeader::GetNack () const
+NdnInterestHeader::GetNack () const
{
return m_nackType;
}
uint32_t
-CcnxInterestHeader::GetSerializedSize (void) const
+NdnInterestHeader::GetSerializedSize (void) const
{
// unfortunately, we don't know exact header size in advance
- return CcnxEncodingHelper::GetSerializedSize (*this);
+ return NdnEncodingHelper::GetSerializedSize (*this);
}
void
-CcnxInterestHeader::Serialize (Buffer::Iterator start) const
+NdnInterestHeader::Serialize (Buffer::Iterator start) const
{
- size_t size = CcnxEncodingHelper::Serialize (start, *this);
+ size_t size = NdnEncodingHelper::Serialize (start, *this);
NS_UNUSED (size);
NS_LOG_INFO ("Serialize size = " << size);
}
uint32_t
-CcnxInterestHeader::Deserialize (Buffer::Iterator start)
+NdnInterestHeader::Deserialize (Buffer::Iterator start)
{
- return CcnxDecodingHelper::Deserialize (start, *this); // \todo Debugging is necessary
+ return NdnDecodingHelper::Deserialize (start, *this); // \todo Debugging is necessary
}
TypeId
-CcnxInterestHeader::GetInstanceTypeId (void) const
+NdnInterestHeader::GetInstanceTypeId (void) const
{
return GetTypeId ();
}
void
-CcnxInterestHeader::Print (std::ostream &os) const
+NdnInterestHeader::Print (std::ostream &os) const
{
os << "I: " << GetName ();
diff --git a/model/ccnx-interest-header.h b/model/ndn-interest-header.h
similarity index 87%
rename from model/ccnx-interest-header.h
rename to model/ndn-interest-header.h
index 77b8426..9b52ca2 100644
--- a/model/ccnx-interest-header.h
+++ b/model/ndn-interest-header.h
@@ -19,8 +19,8 @@
* Alexander Afanasyev <alexander.afanasyev@ucla.edu>
*/
-#ifndef _CCNX_INTEREST_HEADER_H_
-#define _CCNX_INTEREST_HEADER_H_
+#ifndef _NDN_INTEREST_HEADER_H_
+#define _NDN_INTEREST_HEADER_H_
#include "ns3/integer.h"
#include "ns3/header.h"
@@ -31,13 +31,13 @@
#include <vector>
#include <list>
-#include "ccnx-name-components.h"
+#include "ndn-name-components.h"
namespace ns3
{
/**
- * CCNx XML definition of Interest
+ * Ndn XML definition of Interest
*
* Only few important fields are actually implemented in the simulation
*
@@ -122,11 +122,11 @@
* - MinSuffixComponents and MasSuffixComponents: if value is negative (default), will not be serialized
* - ChildSelector, AnswerOriginKind: 0 - false, 1 - true, -1 not set
* - Publisher* elements are not supported
- * - Exclude: only simple name matching is supported (Bloom support has been deprecated in CCNx)
+ * - Exclude: only simple name matching is supported (Bloom support has been deprecated in Ndn)
* - InterestLifetime: ?
* - Nonce: 32 bit random integer. If value is 0, will not be serialized
**/
-class CcnxInterestHeader : public SimpleRefCount<CcnxInterestHeader,Header>
+class NdnInterestHeader : public SimpleRefCount<NdnInterestHeader,Header>
{
public:
/**
@@ -134,16 +134,16 @@
*
* Creates a null header
**/
- CcnxInterestHeader ();
+ NdnInterestHeader ();
/**
* \brief Set interest name
*
- * Sets name of the interest. For example, SetName( CcnxNameComponents("prefix")("postfix") );
- * @param[in] name const pointer to CcnxNameComponents object that contains an interest name
+ * Sets name of the interest. For example, SetName( ndnNameComponents("prefix")("postfix") );
+ * @param[in] name const pointer to ndnNameComponents object that contains an interest name
**/
void
- SetName (const Ptr<CcnxNameComponents> &name);
+ SetName (const Ptr<NdnNameComponents> &name);
/**
@@ -151,13 +151,13 @@
*
* Gets name of the interest.
**/
- const CcnxNameComponents&
+ const NdnNameComponents&
GetName () const;
/**
* @brief Get smart pointer to the interest name (to avoid extra memory usage)
*/
- Ptr<const CcnxNameComponents>
+ Ptr<const NdnNameComponents>
GetNamePtr () const;
/**
@@ -165,7 +165,7 @@
*
* MinSuffixComponents refer to the number of name components beyond those in the prefix,
* and counting the implicit digest, that may occur in the matching ContentObject.
- * \see http://www.ccnx.org/releases/latest/doc/technical/InterestMessage.html for more information.
+ * \see http://www.ndn.org/releases/latest/doc/technical/InterestMessage.html for more information.
* @param[in] value minimum length of suffix components
**/
void
@@ -176,7 +176,7 @@
*
* MinSuffixComponents refer to the number of name components beyond those in the prefix,
* and counting the implicit digest, that may occur in the matching ContentObject.
- * For more information, see http://www.ccnx.org/releases/latest/doc/technical/InterestMessage.html
+ * For more information, see http://www.ndn.org/releases/latest/doc/technical/InterestMessage.html
**/
int32_t
GetMinSuffixComponents () const;
@@ -187,7 +187,7 @@
*
* MaxSuffixComponents refer to the number of name components beyond those in the prefix,
* and counting the implicit digest, that may occur in the matching ContentObject.
- * \see http://www.ccnx.org/releases/latest/doc/technical/InterestMessage.html for more information.
+ * \see http://www.ndn.org/releases/latest/doc/technical/InterestMessage.html for more information.
* @param[in] value maximum length of suffix components
**/
void
@@ -198,7 +198,7 @@
*
* MaxSuffixComponents refer to the number of name components beyond those in the prefix,
* and counting the implicit digest, that may occur in the matching ContentObject.
- * For more information, see http://www.ccnx.org/releases/latest/doc/technical/InterestMessage.html
+ * For more information, see http://www.ndn.org/releases/latest/doc/technical/InterestMessage.html
**/
int32_t
GetMaxSuffixComponents () const;
@@ -206,11 +206,11 @@
/**
* \brief Set exclude filer
*
- * For example, SetExclude (CcnxNameComponents("exclude1")("exclude2")("exclude3"))
- * @param[in] exclude const pointer to CcnxNameComponents to be excluded
+ * For example, SetExclude (ndnNameComponents("exclude1")("exclude2")("exclude3"))
+ * @param[in] exclude const pointer to ndnNameComponents to be excluded
**/
void
- SetExclude (const Ptr<CcnxNameComponents> &exclude);
+ SetExclude (const Ptr<NdnNameComponents> &exclude);
/**
* \brief Check if interest conatins exclude filter
@@ -222,7 +222,7 @@
/**
* \brief Get exclude filter
*/
- const CcnxNameComponents&
+ const NdnNameComponents&
GetExclude () const;
/**
@@ -230,7 +230,7 @@
* Often a given interest will match more than one ContentObject within a given content store.
* The ChildSelector provides a way of expressing a preference for which of these should be returned.
* If the value is false, the leftmost child is preferred. If true, the rightmost child is preferred.
- * \see http://www.ccnx.org/releases/latest/doc/technical/InterestMessage.html for more information.
+ * \see http://www.ndn.org/releases/latest/doc/technical/InterestMessage.html for more information.
* @param[in] value boolean ChildSelector value
*/
void
@@ -238,7 +238,7 @@
/**
* \brief Return ChildSelector value
- * \see http://www.ccnx.org/releases/latest/doc/technical/InterestMessage.html for more information.
+ * \see http://www.ndn.org/releases/latest/doc/technical/InterestMessage.html for more information.
*
*/
bool
@@ -288,7 +288,7 @@
* \brief Set InterestLifetime
* InterestLifetime indicates the (approximate) time remaining before the interest times out.
* The timeout is relative to the arrival time of the interest at the current node.
- * \see http://www.ccnx.org/releases/latest/doc/technical/InterestMessage.html for more information.
+ * \see http://www.ndn.org/releases/latest/doc/technical/InterestMessage.html for more information.
* @param[in] time interest lifetime
*/
void
@@ -298,7 +298,7 @@
* \brief Get InterestLifetime value
* InterestLifetime indicates the (approximate) time remaining before the interest times out.
* The timeout is relative to the arrival time of the interest at the current node.
- * \see http://www.ccnx.org/releases/latest/doc/technical/InterestMessage.html for more information.
+ * \see http://www.ndn.org/releases/latest/doc/technical/InterestMessage.html for more information.
*/
Time
GetInterestLifetime () const;
@@ -381,10 +381,10 @@
virtual uint32_t Deserialize (Buffer::Iterator start);
private:
- Ptr<CcnxNameComponents> m_name; ///< Interest name
+ Ptr<NdnNameComponents> m_name; ///< Interest name
int32_t m_minSuffixComponents; ///< Minimum suffix components. not used if negative
int32_t m_maxSuffixComponents; ///< Maximum suffix components. not used if negative
- Ptr<CcnxNameComponents> m_exclude; ///< Exclude filter
+ Ptr<NdnNameComponents> m_exclude; ///< Exclude filter
bool m_childSelector; ///< Default value for ChildSelector is false
bool m_answerOriginKind; ///< Default value for AnswerOriginKind is false
int8_t m_scope; ///< -1 not set, 0 local scope, 1 this host, 2 immediate neighborhood
@@ -396,8 +396,8 @@
/**
* @brief Class for Interest parsing exception
*/
-class CcnxInterestHeaderException {};
+class NdnInterestHeaderException {};
} // namespace ns3
-#endif // _CCNX_INTEREST_HEADER_H_
+#endif // _NDN_INTEREST_HEADER_H_
diff --git a/model/ccnx-l3-protocol.cc b/model/ndn-l3-protocol.cc
similarity index 75%
rename from model/ccnx-l3-protocol.cc
rename to model/ndn-l3-protocol.cc
index 12087c1..62c6241 100644
--- a/model/ccnx-l3-protocol.cc
+++ b/model/ndn-l3-protocol.cc
@@ -19,7 +19,7 @@
* Ilya Moiseenko <iliamo@cs.ucla.edu>
*/
-#include "ccnx-l3-protocol.h"
+#include "ndn-l3-protocol.h"
#include "ns3/packet.h"
#include "ns3/node.h"
@@ -32,61 +32,61 @@
#include "ns3/simulator.h"
#include "ns3/random-variable.h"
-#include "ns3/ccnx-header-helper.h"
-#include "ns3/ccnx-pit.h"
-#include "ns3/ccnx-interest-header.h"
-#include "ns3/ccnx-content-object-header.h"
+#include "ns3/ndn-header-helper.h"
+#include "ns3/ndn-pit.h"
+#include "ns3/ndn-interest-header.h"
+#include "ns3/ndn-content-object-header.h"
-#include "ns3/ccnx-face.h"
-#include "ns3/ccnx-forwarding-strategy.h"
+#include "ns3/ndn-face.h"
+#include "ns3/ndn-forwarding-strategy.h"
-// #include "fib/ccnx-fib-impl.h"
+// #include "fib/ndn-fib-impl.h"
-#include "ccnx-net-device-face.h"
+#include "ndn-net-device-face.h"
#include <boost/foreach.hpp>
-NS_LOG_COMPONENT_DEFINE ("CcnxL3Protocol");
+NS_LOG_COMPONENT_DEFINE ("NdnL3Protocol");
namespace ns3 {
-const uint16_t CcnxL3Protocol::ETHERNET_FRAME_TYPE = 0x7777;
+const uint16_t NdnL3Protocol::ETHERNET_FRAME_TYPE = 0x7777;
-NS_OBJECT_ENSURE_REGISTERED (CcnxL3Protocol);
+NS_OBJECT_ENSURE_REGISTERED (NdnL3Protocol);
TypeId
-CcnxL3Protocol::GetTypeId (void)
+NdnL3Protocol::GetTypeId (void)
{
- static TypeId tid = TypeId ("ns3::CcnxL3Protocol")
- .SetParent<Ccnx> ()
- .SetGroupName ("Ccnx")
- .AddConstructor<CcnxL3Protocol> ()
- .AddAttribute ("FaceList", "List of faces associated with CCNx stack",
+ static TypeId tid = TypeId ("ns3::NdnL3Protocol")
+ .SetParent<Ndn> ()
+ .SetGroupName ("ndn")
+ .AddConstructor<NdnL3Protocol> ()
+ .AddAttribute ("FaceList", "List of faces associated with ndn stack",
ObjectVectorValue (),
- MakeObjectVectorAccessor (&CcnxL3Protocol::m_faces),
- MakeObjectVectorChecker<CcnxFace> ())
+ MakeObjectVectorAccessor (&NdnL3Protocol::m_faces),
+ MakeObjectVectorChecker<NdnFace> ())
;
return tid;
}
-CcnxL3Protocol::CcnxL3Protocol()
+NdnL3Protocol::NdnL3Protocol()
: m_faceCounter (0)
{
NS_LOG_FUNCTION (this);
}
-CcnxL3Protocol::~CcnxL3Protocol ()
+NdnL3Protocol::~NdnL3Protocol ()
{
NS_LOG_FUNCTION (this);
}
/*
* This method is called by AddAgregate and completes the aggregation
- * by setting the node in the ccnx stack
+ * by setting the node in the ndn stack
*/
void
-CcnxL3Protocol::NotifyNewAggregate ()
+NdnL3Protocol::NotifyNewAggregate ()
{
// not really efficient, but this will work only once
if (m_node == 0)
@@ -95,37 +95,37 @@
if (m_node != 0)
{
// NS_ASSERT_MSG (m_pit != 0 && m_fib != 0 && m_contentStore != 0 && m_forwardingStrategy != 0,
- // "PIT, FIB, and ContentStore should be aggregated before CcnxL3Protocol");
+ // "PIT, FIB, and ContentStore should be aggregated before NdnL3Protocol");
NS_ASSERT_MSG (m_forwardingStrategy != 0,
- "Forwarding strategy should be aggregated before CcnxL3Protocol");
+ "Forwarding strategy should be aggregated before NdnL3Protocol");
}
}
// if (m_pit == 0)
// {
- // m_pit = GetObject<CcnxPit> ();
+ // m_pit = GetObject<NdnPit> ();
// }
// if (m_fib == 0)
// {
- // m_fib = GetObject<CcnxFib> ();
+ // m_fib = GetObject<NdnFib> ();
// }
if (m_forwardingStrategy == 0)
{
- m_forwardingStrategy = GetObject<CcnxForwardingStrategy> ();
+ m_forwardingStrategy = GetObject<NdnForwardingStrategy> ();
}
// if (m_contentStore == 0)
// {
- // m_contentStore = GetObject<CcnxContentStore> ();
+ // m_contentStore = GetObject<NdnContentStore> ();
// }
- Ccnx::NotifyNewAggregate ();
+ Ndn::NotifyNewAggregate ();
}
void
-CcnxL3Protocol::DoDispose (void)
+NdnL3Protocol::DoDispose (void)
{
NS_LOG_FUNCTION (this);
- for (CcnxFaceList::iterator i = m_faces.begin (); i != m_faces.end (); ++i)
+ for (NdnFaceList::iterator i = m_faces.begin (); i != m_faces.end (); ++i)
{
*i = 0;
}
@@ -135,18 +135,18 @@
// Force delete on objects
m_forwardingStrategy = 0; // there is a reference to PIT stored in here
- Ccnx::DoDispose ();
+ Ndn::DoDispose ();
}
uint32_t
-CcnxL3Protocol::AddFace (const Ptr<CcnxFace> &face)
+NdnL3Protocol::AddFace (const Ptr<NdnFace> &face)
{
NS_LOG_FUNCTION (this << &face);
face->SetId (m_faceCounter); // sets a unique ID of the face. This ID serves only informational purposes
// ask face to register in lower-layer stack
- face->RegisterProtocolHandler (MakeCallback (&CcnxL3Protocol::Receive, this));
+ face->RegisterProtocolHandler (MakeCallback (&NdnL3Protocol::Receive, this));
m_faces.push_back (face);
m_faceCounter++;
@@ -154,15 +154,15 @@
}
void
-CcnxL3Protocol::RemoveFace (Ptr<CcnxFace> face)
+NdnL3Protocol::RemoveFace (Ptr<NdnFace> face)
{
// ask face to register in lower-layer stack
- face->RegisterProtocolHandler (MakeNullCallback<void,const Ptr<CcnxFace>&,const Ptr<const Packet>&> ());
- Ptr<CcnxPit> pit = GetObject<CcnxPit> ();
+ face->RegisterProtocolHandler (MakeNullCallback<void,const Ptr<NdnFace>&,const Ptr<const Packet>&> ());
+ Ptr<NdnPit> pit = GetObject<NdnPit> ();
// just to be on a safe side. Do the process in two steps
- std::list< Ptr<CcnxPitEntry> > entriesToRemoves;
- for (Ptr<CcnxPitEntry> pitEntry = pit->Begin (); pitEntry != 0; pitEntry = pit->Next (pitEntry))
+ std::list< Ptr<NdnPitEntry> > entriesToRemoves;
+ for (Ptr<NdnPitEntry> pitEntry = pit->Begin (); pitEntry != 0; pitEntry = pit->Next (pitEntry))
{
pitEntry->RemoveAllReferencesToFace (face);
@@ -174,20 +174,20 @@
entriesToRemoves.push_back (pitEntry);
}
}
- BOOST_FOREACH (Ptr<CcnxPitEntry> removedEntry, entriesToRemoves)
+ BOOST_FOREACH (Ptr<NdnPitEntry> removedEntry, entriesToRemoves)
{
pit->MarkErased (removedEntry);
}
- CcnxFaceList::iterator face_it = find (m_faces.begin(), m_faces.end(), face);
+ NdnFaceList::iterator face_it = find (m_faces.begin(), m_faces.end(), face);
NS_ASSERT_MSG (face_it != m_faces.end (), "Attempt to remove face that doesn't exist");
m_faces.erase (face_it);
}
-Ptr<CcnxFace>
-CcnxL3Protocol::GetFace (uint32_t index) const
+Ptr<NdnFace>
+NdnL3Protocol::GetFace (uint32_t index) const
{
- BOOST_FOREACH (const Ptr<CcnxFace> &face, m_faces) // this function is not supposed to be called often, so linear search is fine
+ BOOST_FOREACH (const Ptr<NdnFace> &face, m_faces) // this function is not supposed to be called often, so linear search is fine
{
if (face->GetId () == index)
return face;
@@ -195,12 +195,12 @@
return 0;
}
-Ptr<CcnxFace>
-CcnxL3Protocol::GetFaceByNetDevice (Ptr<NetDevice> netDevice) const
+Ptr<NdnFace>
+NdnL3Protocol::GetFaceByNetDevice (Ptr<NetDevice> netDevice) const
{
- BOOST_FOREACH (const Ptr<CcnxFace> &face, m_faces) // this function is not supposed to be called often, so linear search is fine
+ BOOST_FOREACH (const Ptr<NdnFace> &face, m_faces) // this function is not supposed to be called often, so linear search is fine
{
- Ptr<CcnxNetDeviceFace> netDeviceFace = DynamicCast<CcnxNetDeviceFace> (face);
+ Ptr<NdnNetDeviceFace> netDeviceFace = DynamicCast<NdnNetDeviceFace> (face);
if (netDeviceFace == 0) continue;
if (netDeviceFace->GetNetDevice () == netDevice)
@@ -210,14 +210,14 @@
}
uint32_t
-CcnxL3Protocol::GetNFaces (void) const
+NdnL3Protocol::GetNFaces (void) const
{
return m_faces.size ();
}
// Callback from lower layer
void
-CcnxL3Protocol::Receive (const Ptr<CcnxFace> &face, const Ptr<const Packet> &p)
+NdnL3Protocol::Receive (const Ptr<NdnFace> &face, const Ptr<const Packet> &p)
{
if (!face->IsUp ())
return;
@@ -229,12 +229,12 @@
Ptr<Packet> packet = p->Copy (); // give upper layers a rw copy of the packet
try
{
- CcnxHeaderHelper::Type type = CcnxHeaderHelper::GetCcnxHeaderType (p);
+ NdnHeaderHelper::Type type = NdnHeaderHelper::GetNdnHeaderType (p);
switch (type)
{
- case CcnxHeaderHelper::INTEREST:
+ case NdnHeaderHelper::INTEREST:
{
- Ptr<CcnxInterestHeader> header = Create<CcnxInterestHeader> ();
+ Ptr<NdnInterestHeader> header = Create<NdnInterestHeader> ();
// Deserialization. Exception may be thrown
packet->RemoveHeader (*header);
@@ -247,11 +247,11 @@
// OnInterest (face, header, p/*original packet*/);
break;
}
- case CcnxHeaderHelper::CONTENT_OBJECT:
+ case NdnHeaderHelper::CONTENT_OBJECT:
{
- Ptr<CcnxContentObjectHeader> header = Create<CcnxContentObjectHeader> ();
+ Ptr<NdnContentObjectHeader> header = Create<NdnContentObjectHeader> ();
- static CcnxContentObjectTail contentObjectTrailer; //there is no data in this object
+ static NdnContentObjectTail contentObjectTrailer; //there is no data in this object
// Deserialization. Exception may be thrown
packet->RemoveHeader (*header);
@@ -264,23 +264,23 @@
// exception will be thrown if packet is not recognized
}
- catch (CcnxUnknownHeaderException)
+ catch (NdnUnknownHeaderException)
{
- NS_ASSERT_MSG (false, "Unknown CCNx header. Should not happen");
- NS_LOG_ERROR ("Unknown CCNx header. Should not happen");
+ NS_ASSERT_MSG (false, "Unknown Ndn header. Should not happen");
+ NS_LOG_ERROR ("Unknown Ndn header. Should not happen");
return;
}
}
// void
-// CcnxL3Protocol::OnNack (const Ptr<CcnxFace> &incomingFace,
-// Ptr<CcnxInterestHeader> &header,
+// NdnL3Protocol::OnNack (const Ptr<NdnFace> &incomingFace,
+// Ptr<NdnInterestHeader> &header,
// const Ptr<const Packet> &packet)
// {
// NS_LOG_FUNCTION (incomingFace << header << packet);
// m_inNacks (header, incomingFace);
-// Ptr<CcnxPitEntry> pitEntry = m_pit->Lookup (*header);
+// Ptr<NdnPitEntry> pitEntry = m_pit->Lookup (*header);
// if (pitEntry == 0)
// {
// // somebody is doing something bad
@@ -288,8 +288,8 @@
// return;
// }
-// // CcnxPitEntryIncomingFaceContainer::type::iterator inFace = pitEntry->GetIncoming ().find (incomingFace);
-// CcnxPitEntryOutgoingFaceContainer::type::iterator outFace = pitEntry->GetOutgoing ().find (incomingFace);
+// // NdnPitEntryIncomingFaceContainer::type::iterator inFace = pitEntry->GetIncoming ().find (incomingFace);
+// NdnPitEntryOutgoingFaceContainer::type::iterator outFace = pitEntry->GetOutgoing ().find (incomingFace);
// if (outFace == pitEntry->GetOutgoing ().end ())
// {
@@ -313,15 +313,15 @@
// // If NACK is NACK_GIVEUP_PIT, then neighbor gave up trying to and removed it's PIT entry.
// // So, if we had an incoming entry to this neighbor, then we can remove it now
-// if (header->GetNack () == CcnxInterestHeader::NACK_GIVEUP_PIT)
+// if (header->GetNack () == NdnInterestHeader::NACK_GIVEUP_PIT)
// {
// pitEntry->RemoveIncoming (incomingFace);
// }
-// pitEntry->GetFibEntry ()->UpdateStatus (incomingFace, CcnxFibFaceMetric::NDN_FIB_YELLOW);
-// // StaticCast<CcnxFibImpl> (m_fib)->modify (pitEntry->GetFibEntry (),
-// // ll::bind (&CcnxFibEntry::UpdateStatus,
-// // ll::_1, incomingFace, CcnxFibFaceMetric::NDN_FIB_YELLOW));
+// pitEntry->GetFibEntry ()->UpdateStatus (incomingFace, NdnFibFaceMetric::NDN_FIB_YELLOW);
+// // StaticCast<NdnFibImpl> (m_fib)->modify (pitEntry->GetFibEntry (),
+// // ll::bind (&NdnFibEntry::UpdateStatus,
+// // ll::_1, incomingFace, NdnFibFaceMetric::NDN_FIB_YELLOW));
// if (pitEntry->GetIncoming ().size () == 0) // interest was actually satisfied
// {
@@ -340,7 +340,7 @@
// }
// Ptr<Packet> nonNackInterest = Create<Packet> ();
-// header->SetNack (CcnxInterestHeader::NORMAL_INTEREST);
+// header->SetNack (NdnInterestHeader::NORMAL_INTEREST);
// nonNackInterest->AddHeader (*header);
// bool propagated = m_forwardingStrategy->
@@ -360,13 +360,13 @@
//
// // !!! Key point.
// // !!! All interests should be answerred!!! Either later with data, immediately with data, or immediately with NACK
-// void CcnxL3Protocol::OnInterest (const Ptr<CcnxFace> &incomingFace,
-// Ptr<CcnxInterestHeader> &header,
+// void NdnL3Protocol::OnInterest (const Ptr<NdnFace> &incomingFace,
+// Ptr<NdnInterestHeader> &header,
// const Ptr<const Packet> &packet)
// {
// m_inInterests (header, incomingFace);
-// Ptr<CcnxPitEntry> pitEntry = m_pit->Lookup (*header);
+// Ptr<NdnPitEntry> pitEntry = m_pit->Lookup (*header);
// if (pitEntry == 0)
// {
// pitEntry = m_pit->Create (header);
@@ -400,14 +400,14 @@
// /////////////////////////////////////////////////////////////////////////////////////////
// // Data is not in cache
-// CcnxPitEntry::in_iterator inFace = pitEntry->GetIncoming ().find (incomingFace);
-// CcnxPitEntry::out_iterator outFace = pitEntry->GetOutgoing ().find (incomingFace);
+// NdnPitEntry::in_iterator inFace = pitEntry->GetIncoming ().find (incomingFace);
+// NdnPitEntry::out_iterator outFace = pitEntry->GetOutgoing ().find (incomingFace);
// bool isRetransmitted = false;
// if (inFace != pitEntry->GetIncoming ().end ())
// {
-// // CcnxPitEntryIncomingFace.m_arrivalTime keeps track arrival time of the first packet... why?
+// // NdnPitEntryIncomingFace.m_arrivalTime keeps track arrival time of the first packet... why?
// isRetransmitted = true;
// // this is almost definitely a retransmission. But should we trust the user on that?
@@ -434,7 +434,7 @@
// if (m_nacksEnabled)
// {
// NS_LOG_DEBUG ("Sending NACK_LOOP");
-// header->SetNack (CcnxInterestHeader::NACK_LOOP);
+// header->SetNack (NdnInterestHeader::NACK_LOOP);
// Ptr<Packet> nack = Create<Packet> ();
// nack->AddHeader (*header);
@@ -446,7 +446,7 @@
// }
// Ptr<Packet> contentObject;
-// Ptr<const CcnxContentObjectHeader> contentObjectHeader; // used for tracing
+// Ptr<const NdnContentObjectHeader> contentObjectHeader; // used for tracing
// Ptr<const Packet> payload; // used for tracing
// tie (contentObject, contentObjectHeader, payload) = m_contentStore->Lookup (header);
// if (contentObject != 0)
@@ -472,10 +472,10 @@
// // ?? not sure if we need to do that ?? ...
-// pitEntry->GetFibEntry ()->UpdateStatus (incomingFace, CcnxFibFaceMetric::NDN_FIB_YELLOW);
-// // StaticCast<CcnxFibImpl> (m_fib)->modify(pitEntry->GetFibEntry (),
-// // ll::bind (&CcnxFibEntry::UpdateStatus,
-// // ll::_1, incomingFace, CcnxFibFaceMetric::NDN_FIB_YELLOW));
+// pitEntry->GetFibEntry ()->UpdateStatus (incomingFace, NdnFibFaceMetric::NDN_FIB_YELLOW);
+// // StaticCast<NdnFibImpl> (m_fib)->modify(pitEntry->GetFibEntry (),
+// // ll::bind (&NdnFibEntry::UpdateStatus,
+// // ll::_1, incomingFace, NdnFibFaceMetric::NDN_FIB_YELLOW));
// }
// else
// if (!isNew && !isRetransmitted)
@@ -515,16 +515,16 @@
// }
// void
-// CcnxL3Protocol::OnDataDelayed (Ptr<const CcnxContentObjectHeader> header,
+// NdnL3Protocol::OnDataDelayed (Ptr<const NdnContentObjectHeader> header,
// Ptr<const Packet> payload,
// const Ptr<const Packet> &packet)
// {
// // 1. Lookup PIT entry
-// Ptr<CcnxPitEntry> pitEntry = m_pit->Lookup (*header);
+// Ptr<NdnPitEntry> pitEntry = m_pit->Lookup (*header);
// if (pitEntry != 0)
// {
// //satisfy all pending incoming Interests
-// BOOST_FOREACH (const CcnxPitEntryIncomingFace &incoming, pitEntry->GetIncoming ())
+// BOOST_FOREACH (const NdnPitEntryIncomingFace &incoming, pitEntry->GetIncoming ())
// {
// incoming.m_face->Send (packet->Copy ());
// m_outData (header, payload, false, incoming.m_face);
@@ -554,8 +554,8 @@
// // Processing ContentObjects
// void
-// CcnxL3Protocol::OnData (const Ptr<CcnxFace> &incomingFace,
-// Ptr<CcnxContentObjectHeader> &header,
+// NdnL3Protocol::OnData (const Ptr<NdnFace> &incomingFace,
+// Ptr<NdnContentObjectHeader> &header,
// Ptr<Packet> &payload,
// const Ptr<const Packet> &packet)
// {
@@ -564,19 +564,19 @@
// m_inData (header, payload, incomingFace);
// // 1. Lookup PIT entry
-// Ptr<CcnxPitEntry> pitEntry = m_pit->Lookup (*header);
+// Ptr<NdnPitEntry> pitEntry = m_pit->Lookup (*header);
// if (pitEntry != 0)
// {
// // Note that with MultiIndex we need to modify entries indirectly
-// CcnxPitEntry::out_iterator out = pitEntry->GetOutgoing ().find (incomingFace);
+// NdnPitEntry::out_iterator out = pitEntry->GetOutgoing ().find (incomingFace);
// // If we have sent interest for this data via this face, then update stats.
// if (out != pitEntry->GetOutgoing ().end ())
// {
// pitEntry->GetFibEntry ()->UpdateFaceRtt (incomingFace, Simulator::Now () - out->m_sendTime);
-// // StaticCast<CcnxFibImpl> (m_fib)->modify (pitEntry->GetFibEntry (),
-// // ll::bind (&CcnxFibEntry::UpdateFaceRtt,
+// // StaticCast<NdnFibImpl> (m_fib)->modify (pitEntry->GetFibEntry (),
+// // ll::bind (&NdnFibEntry::UpdateFaceRtt,
// // ll::_1,
// // incomingFace,
// // Simulator::Now () - out->m_sendTime));
@@ -602,10 +602,10 @@
// }
// // Update metric status for the incoming interface in the corresponding FIB entry
-// pitEntry->GetFibEntry ()->UpdateStatus (incomingFace, CcnxFibFaceMetric::NDN_FIB_GREEN);
-// // StaticCast<CcnxFibImpl>(m_fib)->modify (pitEntry->GetFibEntry (),
-// // ll::bind (&CcnxFibEntry::UpdateStatus, ll::_1,
-// // incomingFace, CcnxFibFaceMetric::NDN_FIB_GREEN));
+// pitEntry->GetFibEntry ()->UpdateStatus (incomingFace, NdnFibFaceMetric::NDN_FIB_GREEN);
+// // StaticCast<NdnFibImpl>(m_fib)->modify (pitEntry->GetFibEntry (),
+// // ll::bind (&NdnFibEntry::UpdateStatus, ll::_1,
+// // incomingFace, NdnFibFaceMetric::NDN_FIB_GREEN));
// // Add or update entry in the content store
// m_contentStore->Add (header, payload);
@@ -643,18 +643,18 @@
// }
// void
-// CcnxL3Protocol::GiveUpInterest (Ptr<CcnxPitEntry> pitEntry,
-// Ptr<CcnxInterestHeader> header)
+// NdnL3Protocol::GiveUpInterest (Ptr<NdnPitEntry> pitEntry,
+// Ptr<NdnInterestHeader> header)
// {
// NS_LOG_FUNCTION (this);
// if (m_nacksEnabled)
// {
// Ptr<Packet> packet = Create<Packet> ();
-// header->SetNack (CcnxInterestHeader::NACK_GIVEUP_PIT);
+// header->SetNack (NdnInterestHeader::NACK_GIVEUP_PIT);
// packet->AddHeader (*header);
-// BOOST_FOREACH (const CcnxPitEntryIncomingFace &incoming, pitEntry->GetIncoming ())
+// BOOST_FOREACH (const NdnPitEntryIncomingFace &incoming, pitEntry->GetIncoming ())
// {
// NS_LOG_DEBUG ("Send NACK for " << boost::cref (header->GetName ()) << " to " << boost::cref (*incoming.m_face));
// incoming.m_face->Send (packet->Copy ());
diff --git a/model/ccnx-l3-protocol.h b/model/ndn-l3-protocol.h
similarity index 64%
rename from model/ccnx-l3-protocol.h
rename to model/ndn-l3-protocol.h
index 3525db5..3b1897d 100644
--- a/model/ccnx-l3-protocol.h
+++ b/model/ndn-l3-protocol.h
@@ -18,8 +18,8 @@
* Author: Alexander Afanasyev <alexander.afanasyev@ucla.edu>
*/
-#ifndef CCNX_L3_PROTOCOL_H
-#define CCNX_L3_PROTOCOL_H
+#ifndef NDN_L3_PROTOCOL_H
+#define NDN_L3_PROTOCOL_H
#include <list>
#include <vector>
@@ -28,28 +28,28 @@
#include "ns3/net-device.h"
#include "ns3/nstime.h"
-// #include "ccnx-content-store.h"
-// #include "ccnx-pit.h"
-// #include "ccnx-fib.h"
+// #include "ndn-content-store.h"
+// #include "ndn-pit.h"
+// #include "ndn-fib.h"
-#include "ccnx.h"
+#include "ndn.h"
namespace ns3 {
class Packet;
class NetDevice;
class Node;
-class CcnxFace;
-class CcnxRoute;
-class CcnxForwardingStrategy;
+class NdnFace;
+class NdnRoute;
+class NdnForwardingStrategy;
class Header;
-class CcnxInterestHeader;
-class CcnxContentObjectHeader;
+class NdnInterestHeader;
+class NdnContentObjectHeader;
/**
- * \ingroup ccnx
- * \brief Actual implementation of the Ccnx network layer
+ * \ingroup ndn
+ * \brief Actual implementation of the Ndn network layer
*
* \todo This description is incorrect. Should be changed accordingly
*
@@ -57,13 +57,13 @@
* trace sources 'Rx' and 'Tx' are called, respectively, immediately
* after receiving from the NetDevice and immediately before sending
* to a NetDevice for transmitting a packet. These are low level
- * trace sources that include the CcnxHeader already serialized into
+ * trace sources that include the NdnHeader already serialized into
* the packet. In contrast, the Drop, SendOutgoing, UnicastForward,
* and LocalDeliver trace sources are slightly higher-level and pass
- * around the CcnxHeader as an explicit parameter and not as part of
+ * around the NdnHeader as an explicit parameter and not as part of
* the packet.
*/
-class CcnxL3Protocol : public Ccnx
+class NdnL3Protocol : public Ndn
{
public:
/**
@@ -73,41 +73,41 @@
*/
static TypeId GetTypeId ();
- static const uint16_t ETHERNET_FRAME_TYPE; ///< \brief Ethernet Frame Type of CCNx
- // static const uint16_t IP_PROTOCOL_TYPE; ///< \brief IP protocol type of CCNx
- // static const uint16_t UDP_PORT; ///< \brief UDP port of CCNx
+ static const uint16_t ETHERNET_FRAME_TYPE; ///< \brief Ethernet Frame Type of Ndn
+ // static const uint16_t IP_PROTOCOL_TYPE; ///< \brief IP protocol type of Ndn
+ // static const uint16_t UDP_PORT; ///< \brief UDP port of Ndn
/**
* \brief Default constructor. Creates an empty stack without forwarding strategy set
*/
- CcnxL3Protocol();
- virtual ~CcnxL3Protocol ();
+ NdnL3Protocol();
+ virtual ~NdnL3Protocol ();
////////////////////////////////////////////////////////////////////
- // functions defined in base class Ccnx
+ // functions defined in base class Ndn
virtual uint32_t
- AddFace (const Ptr<CcnxFace> &face);
+ AddFace (const Ptr<NdnFace> &face);
virtual uint32_t
GetNFaces () const;
- virtual Ptr<CcnxFace>
+ virtual Ptr<NdnFace>
GetFace (uint32_t face) const;
virtual void
- RemoveFace (Ptr<CcnxFace> face);
+ RemoveFace (Ptr<NdnFace> face);
- virtual Ptr<CcnxFace>
+ virtual Ptr<NdnFace>
GetFaceByNetDevice (Ptr<NetDevice> netDevice) const;
// void ScheduleLeakage();
private:
void
- Receive (const Ptr<CcnxFace> &face, const Ptr<const Packet> &p);
+ Receive (const Ptr<NdnFace> &face, const Ptr<const Packet> &p);
// /**
- // * \brief Actual processing of incoming CCNx interests. Note, interests do not have payload
+ // * \brief Actual processing of incoming Ndn interests. Note, interests do not have payload
// *
// * Processing Interest packets
// * @param face incoming face
@@ -115,12 +115,12 @@
// * @param packet original packet
// */
// void
- // OnInterest (const Ptr<CcnxFace> &face,
- // Ptr<CcnxInterestHeader> &header,
+ // OnInterest (const Ptr<NdnFace> &face,
+ // Ptr<NdnInterestHeader> &header,
// const Ptr<const Packet> &p);
// /**
- // * \brief Processing of incoming CCNx NACKs. Note, these packets, like interests, do not have payload
+ // * \brief Processing of incoming Ndn NACKs. Note, these packets, like interests, do not have payload
// *
// * Processing NACK packets
// * @param face incoming face
@@ -128,12 +128,12 @@
// * @param packet original packet
// */
// void
- // OnNack (const Ptr<CcnxFace> &face,
- // Ptr<CcnxInterestHeader> &header,
+ // OnNack (const Ptr<NdnFace> &face,
+ // Ptr<NdnInterestHeader> &header,
// const Ptr<const Packet> &p);
// /**
- // * \brief Actual processing of incoming CCNx content objects
+ // * \brief Actual processing of incoming Ndn content objects
// *
// * Processing ContentObject packets
// * @param face incoming face
@@ -142,8 +142,8 @@
// * @param packet original packet
// */
// void
- // OnData (const Ptr<CcnxFace> &face,
- // Ptr<CcnxContentObjectHeader> &header,
+ // OnData (const Ptr<NdnFace> &face,
+ // Ptr<NdnContentObjectHeader> &header,
// Ptr<Packet> &payload,
// const Ptr<const Packet> &packet);
@@ -157,26 +157,26 @@
virtual void NotifyNewAggregate ();
private:
- CcnxL3Protocol(const CcnxL3Protocol &); ///< copy constructor is disabled
- CcnxL3Protocol &operator = (const CcnxL3Protocol &); ///< copy operator is disabled
+ NdnL3Protocol(const NdnL3Protocol &); ///< copy constructor is disabled
+ NdnL3Protocol &operator = (const NdnL3Protocol &); ///< copy operator is disabled
// void
- // GiveUpInterest (Ptr<CcnxPitEntry> pitEntry,
- // Ptr<CcnxInterestHeader> header);
+ // GiveUpInterest (Ptr<NdnPitEntry> pitEntry,
+ // Ptr<NdnInterestHeader> header);
// void
- // OnDataDelayed (Ptr<const CcnxContentObjectHeader> header,
+ // OnDataDelayed (Ptr<const NdnContentObjectHeader> header,
// Ptr<const Packet> payload,
// const Ptr<const Packet> &packet);
private:
uint32_t m_faceCounter; ///< \brief counter of faces. Increased every time a new face is added to the stack
- typedef std::vector<Ptr<CcnxFace> > CcnxFaceList;
- CcnxFaceList m_faces; ///< \brief list of faces that belongs to ccnx stack on this node
+ typedef std::vector<Ptr<NdnFace> > NdnFaceList;
+ NdnFaceList m_faces; ///< \brief list of faces that belongs to ndn stack on this node
// These objects are aggregated, but for optimization, get them here
- Ptr<Node> m_node; ///< \brief node on which ccnx stack is installed
- Ptr<CcnxForwardingStrategy> m_forwardingStrategy; ///< \brief smart pointer to the selected forwarding strategy
+ Ptr<Node> m_node; ///< \brief node on which ndn stack is installed
+ Ptr<NdnForwardingStrategy> m_forwardingStrategy; ///< \brief smart pointer to the selected forwarding strategy
// bool m_nacksEnabled;
// bool m_cacheUnsolicitedData;
@@ -184,4 +184,4 @@
} // Namespace ns3
-#endif /* CCNX_L3_PROTOCOL_H */
+#endif /* NDN_L3_PROTOCOL_H */
diff --git a/model/ccnx-name-components-hash-helper.h b/model/ndn-name-components-hash-helper.h
similarity index 84%
rename from model/ccnx-name-components-hash-helper.h
rename to model/ndn-name-components-hash-helper.h
index 45e9f0e..c773580 100644
--- a/model/ccnx-name-components-hash-helper.h
+++ b/model/ndn-name-components-hash-helper.h
@@ -18,18 +18,18 @@
* Author: Ilya Moiseenko <iliamo@cs.ucla.edu>
*/
-#ifndef CCNX_HASH_HELPER_H
-#define CCNX_HASH_HELPER_H
+#ifndef NDN_HASH_HELPER_H
+#define NDN_HASH_HELPER_H
#include <string>
#include <boost/foreach.hpp>
-#include "ccnx-name-components.h"
+#include "ndn-name-components.h"
namespace ns3
{
/**
- * \ingroup ccnx-helpers
+ * \ingroup ndn-helpers
* \brief Helper providing hash value for the name prefix
*
* The whole prefix is considered as a long string with '/' delimiters
@@ -37,13 +37,13 @@
* \todo Testing is required to determine if this hash function
* actually provides good hash results
*/
-struct CcnxPrefixHash : public std::unary_function<CcnxNameComponents, std::size_t>
+struct NdnPrefixHash : public std::unary_function<NdnNameComponents, std::size_t>
{
/**
* @brief Compute hash of the name prefix
*/
std::size_t
- operator() (const CcnxNameComponents &prefix) const
+ operator() (const NdnNameComponents &prefix) const
{
std::size_t hash = 23;
BOOST_FOREACH (const std::string &str, prefix.GetComponents ())
@@ -60,4 +60,4 @@
};
} // namespace ns3
-#endif // CCNX_HASH_HELPER_H
+#endif // NDN_HASH_HELPER_H
diff --git a/model/ccnx-name-components.cc b/model/ndn-name-components.cc
similarity index 74%
rename from model/ccnx-name-components.cc
rename to model/ndn-name-components.cc
index c852d33..96d40ec 100644
--- a/model/ccnx-name-components.cc
+++ b/model/ndn-name-components.cc
@@ -15,10 +15,11 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
- * Author: Ilya Moiseenko <iliamo@cs.ucla.edu>
+ * Author: Alexander Afanasyev <alexander.afanasyev@ucla.edu>
+ * Ilya Moiseenko <iliamo@cs.ucla.edu>
*/
-#include "ccnx-name-components.h"
+#include "ndn-name-components.h"
#include <boost/foreach.hpp>
#include "ns3/log.h"
@@ -26,17 +27,17 @@
using namespace std;
-NS_LOG_COMPONENT_DEFINE ("CcnxNameComponents");
+NS_LOG_COMPONENT_DEFINE ("NdnNameComponents");
namespace ns3 {
-ATTRIBUTE_HELPER_CPP (CcnxNameComponents);
+ATTRIBUTE_HELPER_CPP (NdnNameComponents);
-CcnxNameComponents::CcnxNameComponents (/* root */)
+NdnNameComponents::NdnNameComponents (/* root */)
{
}
-CcnxNameComponents::CcnxNameComponents (const std::list<boost::reference_wrapper<const std::string> > &components)
+NdnNameComponents::NdnNameComponents (const std::list<boost::reference_wrapper<const std::string> > &components)
{
BOOST_FOREACH (const boost::reference_wrapper<const std::string> &component, components)
{
@@ -44,13 +45,13 @@
}
}
-CcnxNameComponents::CcnxNameComponents (const std::string &prefix)
+NdnNameComponents::NdnNameComponents (const std::string &prefix)
{
istringstream is (prefix);
is >> *this;
}
-CcnxNameComponents::CcnxNameComponents (const char *prefix)
+NdnNameComponents::NdnNameComponents (const char *prefix)
{
NS_ASSERT (prefix != 0);
@@ -59,13 +60,13 @@
}
const std::list<std::string> &
-CcnxNameComponents::GetComponents () const
+NdnNameComponents::GetComponents () const
{
return m_prefix;
}
std::string
-CcnxNameComponents::GetLastComponent () const
+NdnNameComponents::GetLastComponent () const
{
if (m_prefix.size () == 0)
{
@@ -76,7 +77,7 @@
}
std::list<boost::reference_wrapper<const std::string> >
-CcnxNameComponents::GetSubComponents (size_t num) const
+NdnNameComponents::GetSubComponents (size_t num) const
{
NS_ASSERT_MSG (0<=num && num<=m_prefix.size (), "Invalid number of subcomponents requested");
@@ -90,10 +91,10 @@
return subComponents;
}
-CcnxNameComponents
-CcnxNameComponents::cut (size_t minusComponents) const
+NdnNameComponents
+NdnNameComponents::cut (size_t minusComponents) const
{
- CcnxNameComponents retval;
+ NdnNameComponents retval;
std::list<std::string>::const_iterator component = m_prefix.begin ();
for (uint32_t i = 0; i < m_prefix.size () - minusComponents; i++, component++)
{
@@ -104,7 +105,7 @@
}
void
-CcnxNameComponents::Print (std::ostream &os) const
+NdnNameComponents::Print (std::ostream &os) const
{
for (const_iterator i=m_prefix.begin(); i!=m_prefix.end(); i++)
{
@@ -114,14 +115,14 @@
}
std::ostream &
-operator << (std::ostream &os, const CcnxNameComponents &components)
+operator << (std::ostream &os, const NdnNameComponents &components)
{
components.Print (os);
return os;
}
std::istream &
-operator >> (std::istream &is, CcnxNameComponents &components)
+operator >> (std::istream &is, NdnNameComponents &components)
{
istream_iterator<char> eos; // end of stream
diff --git a/model/ccnx-name-components.h b/model/ndn-name-components.h
similarity index 76%
rename from model/ccnx-name-components.h
rename to model/ndn-name-components.h
index 54f9998..553c140 100644
--- a/model/ccnx-name-components.h
+++ b/model/ndn-name-components.h
@@ -15,7 +15,8 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
- * Author: Ilya Moiseenko <iliamo@cs.ucla.edu>
+ * Author: Alexander Afanasyev <alexander.afanasyev@ucla.edu>
+ * Ilya Moiseenko <iliamo@cs.ucla.edu>
*/
#ifndef _NDN_NAME_COMPONENTS_H_
@@ -35,15 +36,15 @@
namespace ns3 {
/**
- * \ingroup ccnx
- * \brief Hierarchical CCNX name
- * A Name element represents a hierarchical name for CCNx content.
+ * \ingroup ndn
+ * \brief Hierarchical NDN name
+ * A Name element represents a hierarchical name for Ndn content.
* It simply contains a sequence of Component elements.
* Each Component element contains a sequence of zero or more bytes.
* There are no restrictions on what byte sequences may be used.
* The Name element in an Interest is often referred to with the term name prefix or simply prefix.
*/
-class CcnxNameComponents : public SimpleRefCount<CcnxNameComponents>
+class NdnNameComponents : public SimpleRefCount<NdnNameComponents>
{
public:
typedef std::list<std::string>::iterator iterator;
@@ -53,28 +54,28 @@
* \brief Constructor
* Creates a prefix with zero components (can be looked as root "/")
*/
- CcnxNameComponents ();
+ NdnNameComponents ();
/**
* \brief Constructor
* Creates a prefix from a list of strings where every string represents a prefix component
* @param[in] components A list of strings
*/
- CcnxNameComponents (const std::list<boost::reference_wrapper<const std::string> > &components);
+ NdnNameComponents (const std::list<boost::reference_wrapper<const std::string> > &components);
/**
* @brief Constructor
* Creates a prefix from the string (string is parsed using operator>>)
* @param[in] prefix A string representation of a prefix
*/
- CcnxNameComponents (const std::string &prefix);
+ NdnNameComponents (const std::string &prefix);
/**
* @brief Constructor
* Creates a prefix from the string (string is parsed using operator>>)
* @param[in] prefix A string representation of a prefix
*/
- CcnxNameComponents (const char *prefix);
+ NdnNameComponents (const char *prefix);
/**
* \brief Generic Add method
@@ -90,7 +91,7 @@
* The object of type T will be appended to the list of components
*/
template<class T>
- inline CcnxNameComponents&
+ inline NdnNameComponents&
operator () (const T &value);
/**
@@ -116,7 +117,7 @@
/**
* @brief Get prefix of the name, containing less minusComponents right components
*/
- CcnxNameComponents
+ NdnNameComponents
cut (size_t minusComponents) const;
/**
@@ -126,7 +127,7 @@
void Print (std::ostream &os) const;
/**
- * \brief Returns the size of CcnxNameComponents
+ * \brief Returns the size of NdnNameComponents
*/
inline size_t
size () const;
@@ -156,16 +157,16 @@
end () const;
/**
- * \brief Equality operator for CcnxNameComponents
+ * \brief Equality operator for NdnNameComponents
*/
inline bool
- operator== (const CcnxNameComponents &prefix) const;
+ operator== (const NdnNameComponents &prefix) const;
/**
- * \brief Less than operator for CcnxNameComponents
+ * \brief Less than operator for NdnNameComponents
*/
inline bool
- operator< (const CcnxNameComponents &prefix) const;
+ operator< (const NdnNameComponents &prefix) const;
typedef std::string partial_type;
@@ -177,26 +178,26 @@
* \brief Print out name components separated by slashes, e.g., /first/second/third
*/
std::ostream &
-operator << (std::ostream &os, const CcnxNameComponents &components);
+operator << (std::ostream &os, const NdnNameComponents &components);
/**
* \brief Read components from input and add them to components. Will read input stream till eof
* Substrings separated by slashes will become separate components
*/
std::istream &
-operator >> (std::istream &is, CcnxNameComponents &components);
+operator >> (std::istream &is, NdnNameComponents &components);
/**
- * \brief Returns the size of CcnxNameComponents object
+ * \brief Returns the size of NdnNameComponents object
*/
size_t
-CcnxNameComponents::size () const
+NdnNameComponents::size () const
{
return m_prefix.size ();
}
-CcnxNameComponents::iterator
-CcnxNameComponents::begin ()
+NdnNameComponents::iterator
+NdnNameComponents::begin ()
{
return m_prefix.begin ();
}
@@ -204,8 +205,8 @@
/**
* @brief Get read-only begin() iterator
*/
-CcnxNameComponents::const_iterator
-CcnxNameComponents::begin () const
+NdnNameComponents::const_iterator
+NdnNameComponents::begin () const
{
return m_prefix.begin ();
}
@@ -213,8 +214,8 @@
/**
* @brief Get read-write end() iterator
*/
-CcnxNameComponents::iterator
-CcnxNameComponents::end ()
+NdnNameComponents::iterator
+NdnNameComponents::end ()
{
return m_prefix.end ();
}
@@ -222,8 +223,8 @@
/**
* @brief Get read-only end() iterator
*/
-CcnxNameComponents::const_iterator
-CcnxNameComponents::end () const
+NdnNameComponents::const_iterator
+NdnNameComponents::end () const
{
return m_prefix.end ();
}
@@ -234,8 +235,8 @@
* The object of type T will be appended to the list of components
*/
template<class T>
-CcnxNameComponents&
-CcnxNameComponents::operator () (const T &value)
+NdnNameComponents&
+NdnNameComponents::operator () (const T &value)
{
Add (value);
return *this;
@@ -248,7 +249,7 @@
*/
template<class T>
void
-CcnxNameComponents::Add (const T &value)
+NdnNameComponents::Add (const T &value)
{
std::ostringstream os;
os << value;
@@ -256,10 +257,10 @@
}
/**
- * \brief Equality operator for CcnxNameComponents
+ * \brief Equality operator for NdnNameComponents
*/
bool
-CcnxNameComponents::operator== (const CcnxNameComponents &prefix) const
+NdnNameComponents::operator== (const NdnNameComponents &prefix) const
{
if (m_prefix.size () != prefix.m_prefix.size ())
return false;
@@ -268,17 +269,17 @@
}
/**
- * \brief Less than operator for CcnxNameComponents
+ * \brief Less than operator for NdnNameComponents
*/
bool
-CcnxNameComponents::operator< (const CcnxNameComponents &prefix) const
+NdnNameComponents::operator< (const NdnNameComponents &prefix) const
{
return std::lexicographical_compare (m_prefix.begin (), m_prefix.end (),
prefix.m_prefix.begin (), prefix.m_prefix.end ());
}
-ATTRIBUTE_HELPER_HEADER (CcnxNameComponents);
+ATTRIBUTE_HELPER_HEADER (NdnNameComponents);
} // namespace ns3
#endif // _NDN_NAME_COMPONENTS_H_
diff --git a/model/ccnx-net-device-face.cc b/model/ndn-net-device-face.cc
similarity index 65%
rename from model/ccnx-net-device-face.cc
rename to model/ndn-net-device-face.cc
index 95e45c2..7baa363 100644
--- a/model/ccnx-net-device-face.cc
+++ b/model/ndn-net-device-face.cc
@@ -19,8 +19,8 @@
*
*/
-#include "ccnx-net-device-face.h"
-#include "ccnx-l3-protocol.h"
+#include "ndn-net-device-face.h"
+#include "ndn-l3-protocol.h"
#include "ns3/net-device.h"
#include "ns3/log.h"
@@ -30,82 +30,82 @@
#include "ns3/point-to-point-net-device.h"
#include "ns3/channel.h"
-#include "ns3/ccnx-name-components.h"
+#include "ns3/ndn-name-components.h"
-NS_LOG_COMPONENT_DEFINE ("CcnxNetDeviceFace");
+NS_LOG_COMPONENT_DEFINE ("NdnNetDeviceFace");
namespace ns3 {
TypeId
-CcnxNetDeviceFace::GetTypeId ()
+NdnNetDeviceFace::GetTypeId ()
{
- static TypeId tid = TypeId ("ns3::CcnxNetDeviceFace")
- .SetParent<CcnxFace> ()
- .SetGroupName ("Ccnx")
+ static TypeId tid = TypeId ("ns3::NdnNetDeviceFace")
+ .SetParent<NdnFace> ()
+ .SetGroupName ("Ndn")
;
return tid;
}
/**
- * By default, Ccnx face are created in the "down" state. Before
+ * By default, Ndn face are created in the "down" state. Before
* becoming useable, the user must invoke SetUp on the face
*/
-CcnxNetDeviceFace::CcnxNetDeviceFace (Ptr<Node> node, const Ptr<NetDevice> &netDevice)
- : CcnxFace (node)
+NdnNetDeviceFace::NdnNetDeviceFace (Ptr<Node> node, const Ptr<NetDevice> &netDevice)
+ : NdnFace (node)
, m_netDevice (netDevice)
{
NS_LOG_FUNCTION (this << netDevice);
SetMetric (1); // default metric
- NS_ASSERT_MSG (m_netDevice != 0, "CcnxNetDeviceFace needs to be assigned a valid NetDevice");
+ NS_ASSERT_MSG (m_netDevice != 0, "NdnNetDeviceFace needs to be assigned a valid NetDevice");
}
-CcnxNetDeviceFace::~CcnxNetDeviceFace ()
+NdnNetDeviceFace::~NdnNetDeviceFace ()
{
NS_LOG_FUNCTION_NOARGS ();
}
-CcnxNetDeviceFace& CcnxNetDeviceFace::operator= (const CcnxNetDeviceFace &)
+NdnNetDeviceFace& NdnNetDeviceFace::operator= (const NdnNetDeviceFace &)
{
return *this;
}
Ptr<NetDevice>
-CcnxNetDeviceFace::GetNetDevice () const
+NdnNetDeviceFace::GetNetDevice () const
{
return m_netDevice;
}
void
-CcnxNetDeviceFace::RegisterProtocolHandler (ProtocolHandler handler)
+NdnNetDeviceFace::RegisterProtocolHandler (ProtocolHandler handler)
{
NS_LOG_FUNCTION (this);
- CcnxFace::RegisterProtocolHandler (handler);
+ NdnFace::RegisterProtocolHandler (handler);
- m_node->RegisterProtocolHandler (MakeCallback (&CcnxNetDeviceFace::ReceiveFromNetDevice, this),
- CcnxL3Protocol::ETHERNET_FRAME_TYPE, m_netDevice, true/*promiscuous mode*/);
+ m_node->RegisterProtocolHandler (MakeCallback (&NdnNetDeviceFace::ReceiveFromNetDevice, this),
+ NdnL3Protocol::ETHERNET_FRAME_TYPE, m_netDevice, true/*promiscuous mode*/);
}
bool
-CcnxNetDeviceFace::SendImpl (Ptr<Packet> packet)
+NdnNetDeviceFace::SendImpl (Ptr<Packet> packet)
{
NS_LOG_FUNCTION (this << packet);
NS_ASSERT_MSG (packet->GetSize () <= m_netDevice->GetMtu (),
"Packet size " << packet->GetSize () << " exceeds device MTU "
<< m_netDevice->GetMtu ()
- << " for Ccnx; fragmentation not supported");
+ << " for Ndn; fragmentation not supported");
bool ok = m_netDevice->Send (packet, m_netDevice->GetBroadcast (),
- CcnxL3Protocol::ETHERNET_FRAME_TYPE);
+ NdnL3Protocol::ETHERNET_FRAME_TYPE);
return ok;
}
// callback
void
-CcnxNetDeviceFace::ReceiveFromNetDevice (Ptr<NetDevice> device,
+NdnNetDeviceFace::ReceiveFromNetDevice (Ptr<NetDevice> device,
Ptr<const Packet> p,
uint16_t protocol,
const Address &from,
@@ -118,7 +118,7 @@
std::ostream&
-CcnxNetDeviceFace::Print (std::ostream& os) const
+NdnNetDeviceFace::Print (std::ostream& os) const
{
os << "dev[" << GetNode ()->GetId () << "]=net(" << GetId () << ",";
os << DynamicCast<PointToPointNetDevice> (m_netDevice)->GetChannel ()->GetDevice (0)->GetNode ()->GetId ();
diff --git a/model/ccnx-net-device-face.h b/model/ndn-net-device-face.h
similarity index 72%
rename from model/ccnx-net-device-face.h
rename to model/ndn-net-device-face.h
index 2a018bf..bc132f7 100644
--- a/model/ccnx-net-device-face.h
+++ b/model/ndn-net-device-face.h
@@ -18,10 +18,10 @@
* Authors: Alexander Afanasyev <alexander.afanasyev@ucla.edu>
*/
-#ifndef CCNX_NET_DEVICE_FACE_H
-#define CCNX_NET_DEVICE_FACE_H
+#ifndef NDN_NET_DEVICE_FACE_H
+#define NDN_NET_DEVICE_FACE_H
-#include "ccnx-face.h"
+#include "ndn-face.h"
#include "ns3/net-device.h"
namespace ns3 {
@@ -29,20 +29,20 @@
class Address;
/**
- * \ingroup ccnx-face
- * \brief Implementation of layer-2 (Ethernet) CCNx face
+ * \ingroup ndn-face
+ * \brief Implementation of layer-2 (Ethernet) Ndn face
*
- * This class defines basic functionality of CCNx face. Face is core
+ * This class defines basic functionality of Ndn face. Face is core
* component responsible for actual delivery of data packet to and
- * from CCNx stack
+ * from Ndn stack
*
- * CcnxNetDevice face is permanently associated with one NetDevice
+ * NdnNetDevice face is permanently associated with one NetDevice
* object and this object cannot be changed for the lifetime of the
* face
*
- * \see CcnxAppFace, CcnxNetDeviceFace, CcnxIpv4Face, CcnxUdpFace
+ * \see NdnAppFace, NdnNetDeviceFace, NdnIpv4Face, NdnUdpFace
*/
-class CcnxNetDeviceFace : public CcnxFace
+class NdnNetDeviceFace : public NdnFace
{
public:
static TypeId
@@ -55,22 +55,22 @@
* @param netDevice a smart pointer to NetDevice object to which
* this face will be associate
*/
- CcnxNetDeviceFace (Ptr<Node> node, const Ptr<NetDevice> &netDevice);
- virtual ~CcnxNetDeviceFace();
+ NdnNetDeviceFace (Ptr<Node> node, const Ptr<NetDevice> &netDevice);
+ virtual ~NdnNetDeviceFace();
////////////////////////////////////////////////////////////////////
- // methods overloaded from CcnxFace
+ // methods overloaded from NdnFace
virtual void
RegisterProtocolHandler (ProtocolHandler handler);
protected:
- // also from CcnxFace
+ // also from NdnFace
virtual bool
SendImpl (Ptr<Packet> p);
public:
/**
- * @brief Print out name of the CcnxFace to the stream
+ * @brief Print out name of the NdnFace to the stream
*/
virtual std::ostream&
Print (std::ostream &os) const;
@@ -84,8 +84,8 @@
Ptr<NetDevice> GetNetDevice () const;
private:
- CcnxNetDeviceFace (const CcnxNetDeviceFace &); ///< \brief Disabled copy constructor
- CcnxNetDeviceFace& operator= (const CcnxNetDeviceFace &); ///< \brief Disabled copy operator
+ NdnNetDeviceFace (const NdnNetDeviceFace &); ///< \brief Disabled copy constructor
+ NdnNetDeviceFace& operator= (const NdnNetDeviceFace &); ///< \brief Disabled copy operator
/// \brief callback from lower layers
void ReceiveFromNetDevice (Ptr<NetDevice> device,
@@ -101,4 +101,4 @@
} // namespace ns3
-#endif //CCNX_NET_DEVICE_FACE_H
+#endif //NDN_NET_DEVICE_FACE_H
diff --git a/model/ccnx.cc b/model/ndn.cc
similarity index 76%
rename from model/ccnx.cc
rename to model/ndn.cc
index 79452bf..1083992 100644
--- a/model/ccnx.cc
+++ b/model/ndn.cc
@@ -22,27 +22,27 @@
#include "ns3/node.h"
#include "ns3/boolean.h"
-#include "ccnx.h"
-#include "ccnx-face.h"
-#include "forwarding-strategy/ccnx-forwarding-strategy.h"
-#include "ccnx-interest-header.h"
-#include "ccnx-content-object-header.h"
+#include "ndn.h"
+#include "ndn-face.h"
+#include "forwarding-strategy/ndn-forwarding-strategy.h"
+#include "ndn-interest-header.h"
+#include "ndn-content-object-header.h"
namespace ns3 {
-NS_OBJECT_ENSURE_REGISTERED (Ccnx);
+NS_OBJECT_ENSURE_REGISTERED (Ndn);
TypeId
-Ccnx::GetTypeId (void)
+Ndn::GetTypeId (void)
{
- static TypeId tid = TypeId ("ns3::Ccnx")
- .SetGroupName ("Ccnx")
+ static TypeId tid = TypeId ("ns3::Ndn")
+ .SetGroupName ("Ndn")
.SetParent<Object> ()
;
return tid;
}
-Ccnx::~Ccnx ()
+Ndn::~Ndn ()
{
}
diff --git a/model/ccnx.h b/model/ndn.h
similarity index 63%
rename from model/ccnx.h
rename to model/ndn.h
index ca36c1f..55c5722 100644
--- a/model/ccnx.h
+++ b/model/ndn.h
@@ -18,8 +18,8 @@
* Author: Alexander Afanasyev <alexander.afanasyev@ucla.edu>
*/
-#ifndef _CCNX_H_
-#define _CCNX_H_
+#ifndef _NDN_H_
+#define _NDN_H_
#include "ns3/object.h"
#include "ns3/callback.h"
@@ -30,18 +30,18 @@
class Node;
class NetDevice;
class Packet;
-class CcnxForwardingStrategy;
-class CcnxFace;
-class CcnxContentObjectHeader;
-class CcnxInterestHeader;
-class CcnxPit;
+class NdnForwardingStrategy;
+class NdnFace;
+class NdnContentObjectHeader;
+class NdnInterestHeader;
+class NdnPit;
/// @cond include_hidden
/**
* \internal
- * \brief Private namespace for CCNx content store implementation
+ * \brief Private namespace for Ndn content store implementation
*/
-namespace __ccnx_private
+namespace __ndn_private
{
class i_face {};
class i_metric {};
@@ -57,30 +57,30 @@
// #define NDN_INTEREST_RESET_PERIOD (10*MILLI_SECOND)
/**
- * \defgroup ccnx NDN abstraction
+ * \defgroup ndn NDN abstraction
*
* This is an abstract implementation of NDN protocol
*/
/**
- * \ingroup ccnx
- * \brief Interface to manage Ccnx stack
+ * \ingroup ndn
+ * \brief Interface to manage Ndn stack
*
* This class defines the API to manipulate the following aspects of
- * the Ccnx stack implementation:
- * -# register a face (CcnxFace-derived object) for use by the Ccnx
+ * the Ndn stack implementation:
+ * -# register a face (NdnFace-derived object) for use by the Ndn
* layer
- * -# register forwarding strategy (CcnxForwardingStrategy-derived
- * object) to use by Ccnx stack
- * -# export Ccnx configuration attributes
+ * -# register forwarding strategy (NdnForwardingStrategy-derived
+ * object) to use by Ndn stack
+ * -# export Ndn configuration attributes
*
- * Each CcnxFace-derived object has conceptually a single Ccnx
+ * Each NdnFace-derived object has conceptually a single Ndn
* interface associated with it.
*
- * In addition, this class defines CCNx packet coding constants
+ * In addition, this class defines Ndn packet coding constants
*
- * \see CcnxFace, CcnxForwardingStrategy
+ * \see NdnFace, NdnForwardingStrategy
*/
-class Ccnx : public Object
+class Ndn : public Object
{
public:
/**
@@ -89,22 +89,22 @@
* \return interface ID
*/
static TypeId GetTypeId ();
- virtual ~Ccnx ();
+ virtual ~Ndn ();
/**
- * \brief Add face to CCNx stack
+ * \brief Add face to Ndn stack
*
- * \param face smart pointer to CcnxFace-derived object
- * (CcnxLocalFace, CcnxNetDeviceFace, CcnxUdpFace) \returns the
- * index of the Ccnx interface added.
+ * \param face smart pointer to NdnFace-derived object
+ * (NdnLocalFace, NdnNetDeviceFace, NdnUdpFace) \returns the
+ * index of the Ndn interface added.
*
- * \see CcnxLocalFace, CcnxNetDeviceFace, CcnxUdpFace
+ * \see NdnLocalFace, NdnNetDeviceFace, NdnUdpFace
*/
virtual uint32_t
- AddFace (const Ptr<CcnxFace> &face) = 0;
+ AddFace (const Ptr<NdnFace> &face) = 0;
/**
- * \brief Get current number of faces added to CCNx stack
+ * \brief Get current number of faces added to Ndn stack
*
* \returns the number of faces
*/
@@ -113,22 +113,22 @@
/**
* \brief Get face by face index
- * \param face The face number of an Ccnx interface.
- * \returns The CcnxFace associated with the Ccnx face number.
+ * \param face The face number of an Ndn interface.
+ * \returns The NdnFace associated with the Ndn face number.
*/
- virtual Ptr<CcnxFace>
+ virtual Ptr<NdnFace>
GetFace (uint32_t face) const = 0;
/**
- * \brief Remove face from ccnx stack (remove callbacks)
+ * \brief Remove face from ndn stack (remove callbacks)
*/
virtual void
- RemoveFace (Ptr<CcnxFace> face) = 0;
+ RemoveFace (Ptr<NdnFace> face) = 0;
/**
* \brief Get face for NetDevice
*/
- virtual Ptr<CcnxFace>
+ virtual Ptr<NdnFace>
GetFaceByNetDevice (Ptr<NetDevice> netDevice) const = 0;
// /**
@@ -149,4 +149,4 @@
} // namespace ns3
-#endif /* _CCNX_H_ */
+#endif /* _NDN_H_ */
diff --git a/model/pit/ccnx-pit-entry-impl.h b/model/pit/ndn-pit-entry-impl.h
similarity index 82%
rename from model/pit/ccnx-pit-entry-impl.h
rename to model/pit/ndn-pit-entry-impl.h
index 4b49cbd..13cceb5 100644
--- a/model/pit/ccnx-pit-entry-impl.h
+++ b/model/pit/ndn-pit-entry-impl.h
@@ -18,33 +18,33 @@
* Author: Alexander Afanasyev <alexander.afanasyev@ucla.edu>
*/
-#ifndef _CCNX_PIT_ENTRY_IMPL_H_
-#define _CCNX_PIT_ENTRY_IMPL_H_
+#ifndef _NDN_PIT_ENTRY_IMPL_H_
+#define _NDN_PIT_ENTRY_IMPL_H_
namespace ns3 {
-class CcnxPit;
-class CcnxInterestHeader;
-class CcnxFibEntry;
+class NdnPit;
+class NdnInterestHeader;
+class NdnFibEntry;
template<class Pit>
-class CcnxPitEntryImpl : public CcnxPitEntry
+class NdnPitEntryImpl : public NdnPitEntry
{
- typedef CcnxPitEntry super;
+ typedef NdnPitEntry super;
#define CONTAINER static_cast<Pit&> (m_container)
public:
- CcnxPitEntryImpl (CcnxPit &pit,
- Ptr<const CcnxInterestHeader> header,
- Ptr<CcnxFibEntry> fibEntry)
- : CcnxPitEntry (pit, header, fibEntry)
+ NdnPitEntryImpl (NdnPit &pit,
+ Ptr<const NdnInterestHeader> header,
+ Ptr<NdnFibEntry> fibEntry)
+ : NdnPitEntry (pit, header, fibEntry)
, item_ (0)
{
CONTAINER.i_time.insert (*this);
CONTAINER.RescheduleCleaning ();
}
- virtual ~CcnxPitEntryImpl ()
+ virtual ~NdnPitEntryImpl ()
{
CONTAINER.i_time.erase (Pit::time_index::s_iterator_to (*this));
diff --git a/model/pit/ccnx-pit-entry-incoming-face.cc b/model/pit/ndn-pit-entry-incoming-face.cc
similarity index 81%
rename from model/pit/ccnx-pit-entry-incoming-face.cc
rename to model/pit/ndn-pit-entry-incoming-face.cc
index 23f3c40..28408ed 100644
--- a/model/pit/ccnx-pit-entry-incoming-face.cc
+++ b/model/pit/ndn-pit-entry-incoming-face.cc
@@ -18,20 +18,20 @@
* Author: Alexander Afanasyev <alexander.afanasyev@ucla.edu>
*/
-#include "ccnx-pit-entry-incoming-face.h"
+#include "ndn-pit-entry-incoming-face.h"
#include "ns3/simulator.h"
namespace ns3 {
-CcnxPitEntryIncomingFace::CcnxPitEntryIncomingFace (Ptr<CcnxFace> face)
+NdnPitEntryIncomingFace::NdnPitEntryIncomingFace (Ptr<NdnFace> face)
: m_face (face)
, m_arrivalTime (Simulator::Now ())
// , m_nonce (nonce)
{
}
-CcnxPitEntryIncomingFace::CcnxPitEntryIncomingFace ()
+NdnPitEntryIncomingFace::NdnPitEntryIncomingFace ()
: m_face (0)
, m_arrivalTime (0)
{
@@ -40,8 +40,8 @@
/**
* @brie Copy operator
*/
-CcnxPitEntryIncomingFace &
-CcnxPitEntryIncomingFace::operator = (CcnxPitEntryIncomingFace &other)
+NdnPitEntryIncomingFace &
+NdnPitEntryIncomingFace::operator = (NdnPitEntryIncomingFace &other)
{
m_face = other.m_face;
m_arrivalTime = other.m_arrivalTime;
diff --git a/model/pit/ccnx-pit-entry-incoming-face.h b/model/pit/ndn-pit-entry-incoming-face.h
similarity index 65%
rename from model/pit/ccnx-pit-entry-incoming-face.h
rename to model/pit/ndn-pit-entry-incoming-face.h
index 7c5e17d..947271b 100644
--- a/model/pit/ccnx-pit-entry-incoming-face.h
+++ b/model/pit/ndn-pit-entry-incoming-face.h
@@ -18,24 +18,24 @@
* Author: Alexander Afanasyev <alexander.afanasyev@ucla.edu>
*/
-#ifndef _CCNX_PIT_ENTRY_INCOMING_FACE_H_
-#define _CCNX_PIT_ENTRY_INCOMING_FACE_H_
+#ifndef _NDN_PIT_ENTRY_INCOMING_FACE_H_
+#define _NDN_PIT_ENTRY_INCOMING_FACE_H_
#include "ns3/nstime.h"
#include "ns3/ptr.h"
-#include "ns3/ccnx-face.h"
+#include "ns3/ndn-face.h"
// #include <iostream>
namespace ns3 {
/**
- * \ingroup ccnx
+ * \ingroup ndn
* \brief PIT state component for each incoming interest (not including duplicates)
*/
-struct CcnxPitEntryIncomingFace
+struct NdnPitEntryIncomingFace
{
- Ptr<CcnxFace> m_face; ///< \brief face of the incoming Interest
+ Ptr<NdnFace> m_face; ///< \brief face of the incoming Interest
Time m_arrivalTime; ///< \brief arrival time of the incoming Interest
public:
@@ -44,36 +44,36 @@
* \param face face of the incoming interest
* \param lifetime lifetime of the incoming interest
*/
- CcnxPitEntryIncomingFace (Ptr<CcnxFace> face);
+ NdnPitEntryIncomingFace (Ptr<NdnFace> face);
/**
* @brief Default constructor, necessary for Python bindings, but should not be used anywhere else.
*/
- CcnxPitEntryIncomingFace ();
+ NdnPitEntryIncomingFace ();
/**
* @brie Copy operator
*/
- CcnxPitEntryIncomingFace &
- operator = (CcnxPitEntryIncomingFace &other);
+ NdnPitEntryIncomingFace &
+ operator = (NdnPitEntryIncomingFace &other);
/**
- * @brief Compare two CcnxPitEntryIncomingFace
+ * @brief Compare two NdnPitEntryIncomingFace
*/
- bool operator== (const CcnxPitEntryIncomingFace &dst) { return *m_face==*(dst.m_face); }
+ bool operator== (const NdnPitEntryIncomingFace &dst) { return *m_face==*(dst.m_face); }
/**
- * @brief Compare CcnxPitEntryIncomingFace with CcnxFace
+ * @brief Compare NdnPitEntryIncomingFace with NdnFace
*/
- bool operator== (Ptr<CcnxFace> face) { return *m_face==*face; }
+ bool operator== (Ptr<NdnFace> face) { return *m_face==*face; }
/**
* \brief Comparison operator used by boost::multi_index::identity<>
*/
bool
- operator< (const CcnxPitEntryIncomingFace &m) const { return *m_face < *(m.m_face); } // return identity of the face
+ operator< (const NdnPitEntryIncomingFace &m) const { return *m_face < *(m.m_face); } // return identity of the face
};
} // namespace ns3
-#endif /* CCNX_PIT_ENTRY_INCOMING_FACE_H */
+#endif /* NDN_PIT_ENTRY_INCOMING_FACE_H */
diff --git a/model/pit/ccnx-pit-entry-outgoing-face.cc b/model/pit/ndn-pit-entry-outgoing-face.cc
similarity index 87%
rename from model/pit/ccnx-pit-entry-outgoing-face.cc
rename to model/pit/ndn-pit-entry-outgoing-face.cc
index 8527779..9829eaa 100644
--- a/model/pit/ccnx-pit-entry-outgoing-face.cc
+++ b/model/pit/ndn-pit-entry-outgoing-face.cc
@@ -18,13 +18,13 @@
* Author: Alexander Afanasyev <alexander.afanasyev@ucla.edu>
*/
-#include "ccnx-pit-entry-outgoing-face.h"
+#include "ndn-pit-entry-outgoing-face.h"
#include "ns3/simulator.h"
namespace ns3 {
-CcnxPitEntryOutgoingFace::CcnxPitEntryOutgoingFace (Ptr<CcnxFace> face)
+NdnPitEntryOutgoingFace::NdnPitEntryOutgoingFace (Ptr<NdnFace> face)
: m_face (face)
, m_sendTime (Simulator::Now ())
, m_retxCount (0)
@@ -33,7 +33,7 @@
}
void
-CcnxPitEntryOutgoingFace::UpdateOnRetransmit ()
+NdnPitEntryOutgoingFace::UpdateOnRetransmit ()
{
m_sendTime = Simulator::Now ();
m_retxCount++;
diff --git a/model/pit/ccnx-pit-entry-outgoing-face.h b/model/pit/ndn-pit-entry-outgoing-face.h
similarity index 71%
rename from model/pit/ccnx-pit-entry-outgoing-face.h
rename to model/pit/ndn-pit-entry-outgoing-face.h
index b16b4fd..c9d1357 100644
--- a/model/pit/ccnx-pit-entry-outgoing-face.h
+++ b/model/pit/ndn-pit-entry-outgoing-face.h
@@ -18,23 +18,23 @@
* Author: Alexander Afanasyev <alexander.afanasyev@ucla.edu>
*/
-#ifndef _CCNX_PIT_ENTRY_OUTGOING_FACE_H_
-#define _CCNX_PIT_ENTRY_OUTGOING_FACE_H_
+#ifndef _NDN_PIT_ENTRY_OUTGOING_FACE_H_
+#define _NDN_PIT_ENTRY_OUTGOING_FACE_H_
#include "ns3/nstime.h"
#include "ns3/ptr.h"
-#include "ns3/ccnx-face.h"
+#include "ns3/ndn-face.h"
namespace ns3 {
/**
- * \ingroup ccnx
+ * \ingroup ndn
* \brief PIT state component for each outgoing interest
*/
-struct CcnxPitEntryOutgoingFace
+struct NdnPitEntryOutgoingFace
{
- Ptr<CcnxFace> m_face; ///< \brief face of the outgoing Interest
+ Ptr<NdnFace> m_face; ///< \brief face of the outgoing Interest
Time m_sendTime; ///< \brief time when the first outgoing interest is sent (for RTT measurements)
///< \todo handle problem of retransmitted interests... Probably, we should include something similar
///< to TimeStamp TCP option for retransmitted (i.e., only lost interests will suffer)
@@ -43,10 +43,10 @@
public:
/**
- * @brief Constructor to create CcnxPitEntryOutgoingFace
+ * @brief Constructor to create NdnPitEntryOutgoingFace
* \param face face of the outgoing interest
*/
- CcnxPitEntryOutgoingFace (Ptr<CcnxFace> face);
+ NdnPitEntryOutgoingFace (Ptr<NdnFace> face);
/**
* @brief Update outgoing entry upon retransmission
@@ -55,23 +55,23 @@
UpdateOnRetransmit ();
/**
- * @brief Compare to CcnxPitEntryOutgoingFace
+ * @brief Compare to NdnPitEntryOutgoingFace
*/
- bool operator== (const CcnxPitEntryOutgoingFace &dst) { return *m_face==*dst.m_face; }
+ bool operator== (const NdnPitEntryOutgoingFace &dst) { return *m_face==*dst.m_face; }
/**
- * @brief Compare CcnxPitEntryOutgoingFace with CcnxFace
+ * @brief Compare NdnPitEntryOutgoingFace with NdnFace
*/
- bool operator== (Ptr<CcnxFace> face) { return *m_face==*face; }
+ bool operator== (Ptr<NdnFace> face) { return *m_face==*face; }
/**
* \brief Comparison operator used by boost::multi_index::identity<>
*/
bool
- operator< (const CcnxPitEntryOutgoingFace &m) const { return *m_face < *(m.m_face); } // return identity of the face
+ operator< (const NdnPitEntryOutgoingFace &m) const { return *m_face < *(m.m_face); } // return identity of the face
};
} // namespace ns3
-#endif /* CCNX_PIT_ENTRY_OUTGOING_FACE_H */
+#endif /* NDN_PIT_ENTRY_OUTGOING_FACE_H */
diff --git a/model/pit/ccnx-pit-entry.cc b/model/pit/ndn-pit-entry.cc
similarity index 67%
rename from model/pit/ccnx-pit-entry.cc
rename to model/pit/ndn-pit-entry.cc
index 9e45258..bc6ca0e 100644
--- a/model/pit/ccnx-pit-entry.cc
+++ b/model/pit/ndn-pit-entry.cc
@@ -18,11 +18,11 @@
* Author: Alexander Afanasyev <alexander.afanasyev@ucla.edu>
*/
-#include "ccnx-pit-entry.h"
+#include "ndn-pit-entry.h"
-#include "ns3/ccnx-fib.h"
-#include "ns3/ccnx-name-components.h"
-#include "ns3/ccnx-interest-header.h"
+#include "ns3/ndn-fib.h"
+#include "ns3/ndn-name-components.h"
+#include "ns3/ndn-interest-header.h"
#include "ns3/simulator.h"
#include "ns3/log.h"
@@ -32,14 +32,14 @@
#include <boost/foreach.hpp>
namespace ll = boost::lambda;
-NS_LOG_COMPONENT_DEFINE ("CcnxPitEntry");
+NS_LOG_COMPONENT_DEFINE ("NdnPitEntry");
namespace ns3
{
-CcnxPitEntry::CcnxPitEntry (CcnxPit &container,
- Ptr<const CcnxInterestHeader> header,
- Ptr<CcnxFibEntry> fibEntry)
+NdnPitEntry::NdnPitEntry (NdnPit &container,
+ Ptr<const NdnInterestHeader> header,
+ Ptr<NdnFibEntry> fibEntry)
: m_container (container)
, m_prefix (header->GetNamePtr ())
, m_fibEntry (fibEntry)
@@ -52,7 +52,7 @@
}
void
-CcnxPitEntry::UpdateLifetime (const Time &offsetTime)
+NdnPitEntry::UpdateLifetime (const Time &offsetTime)
{
NS_LOG_FUNCTION (offsetTime.ToDouble (Time::S));
@@ -63,11 +63,11 @@
NS_LOG_INFO ("Updated lifetime to " << m_expireTime.ToDouble (Time::S));
}
-CcnxPitEntry::in_iterator
-CcnxPitEntry::AddIncoming (Ptr<CcnxFace> face)
+NdnPitEntry::in_iterator
+NdnPitEntry::AddIncoming (Ptr<NdnFace> face)
{
std::pair<in_iterator,bool> ret =
- m_incoming.insert (CcnxPitEntryIncomingFace (face));
+ m_incoming.insert (NdnPitEntryIncomingFace (face));
// NS_ASSERT_MSG (ret.second, "Something is wrong");
@@ -75,29 +75,29 @@
}
void
-CcnxPitEntry::RemoveIncoming (Ptr<CcnxFace> face)
+NdnPitEntry::RemoveIncoming (Ptr<NdnFace> face)
{
m_incoming.erase (face);
}
-CcnxPitEntry::out_iterator
-CcnxPitEntry::AddOutgoing (Ptr<CcnxFace> face)
+NdnPitEntry::out_iterator
+NdnPitEntry::AddOutgoing (Ptr<NdnFace> face)
{
std::pair<out_iterator,bool> ret =
- m_outgoing.insert (CcnxPitEntryOutgoingFace (face));
+ m_outgoing.insert (NdnPitEntryOutgoingFace (face));
if (!ret.second)
{ // outgoing face already exists
m_outgoing.modify (ret.first,
- ll::bind (&CcnxPitEntryOutgoingFace::UpdateOnRetransmit, ll::_1));
+ ll::bind (&NdnPitEntryOutgoingFace::UpdateOnRetransmit, ll::_1));
}
return ret.first;
}
void
-CcnxPitEntry::RemoveAllReferencesToFace (Ptr<CcnxFace> face)
+NdnPitEntry::RemoveAllReferencesToFace (Ptr<NdnFace> face)
{
in_iterator incoming = m_incoming.find (face);
@@ -112,16 +112,16 @@
}
// void
-// CcnxPitEntry::SetWaitingInVain (CcnxPitEntry::out_iterator face)
+// NdnPitEntry::SetWaitingInVain (NdnPitEntry::out_iterator face)
// {
// NS_LOG_DEBUG (boost::cref (*face->m_face));
// m_outgoing.modify (face,
-// (&ll::_1)->*&CcnxPitEntryOutgoingFace::m_waitingInVain = true);
+// (&ll::_1)->*&NdnPitEntryOutgoingFace::m_waitingInVain = true);
// }
void
-CcnxPitEntry::SetWaitingInVain (Ptr<CcnxFace> face)
+NdnPitEntry::SetWaitingInVain (Ptr<NdnFace> face)
{
// NS_LOG_DEBUG (boost::cref (*face->m_face));
@@ -130,37 +130,37 @@
return;
m_outgoing.modify (item,
- (&ll::_1)->*&CcnxPitEntryOutgoingFace::m_waitingInVain = true);
+ (&ll::_1)->*&NdnPitEntryOutgoingFace::m_waitingInVain = true);
}
bool
-CcnxPitEntry::AreAllOutgoingInVain () const
+NdnPitEntry::AreAllOutgoingInVain () const
{
NS_LOG_DEBUG (m_outgoing.size ());
bool inVain = true;
std::for_each (m_outgoing.begin (), m_outgoing.end (),
- ll::var(inVain) &= (&ll::_1)->*&CcnxPitEntryOutgoingFace::m_waitingInVain);
+ ll::var(inVain) &= (&ll::_1)->*&NdnPitEntryOutgoingFace::m_waitingInVain);
NS_LOG_DEBUG ("inVain " << inVain);
return inVain;
}
bool
-CcnxPitEntry::AreTherePromisingOutgoingFacesExcept (Ptr<CcnxFace> face) const
+NdnPitEntry::AreTherePromisingOutgoingFacesExcept (Ptr<NdnFace> face) const
{
bool inVain = true;
std::for_each (m_outgoing.begin (), m_outgoing.end (),
ll::var(inVain) &=
- ((&ll::_1)->*&CcnxPitEntryOutgoingFace::m_face == face ||
- (&ll::_1)->*&CcnxPitEntryOutgoingFace::m_waitingInVain));
+ ((&ll::_1)->*&NdnPitEntryOutgoingFace::m_face == face ||
+ (&ll::_1)->*&NdnPitEntryOutgoingFace::m_waitingInVain));
return !inVain;
}
void
-CcnxPitEntry::IncreaseAllowedRetxCount ()
+NdnPitEntry::IncreaseAllowedRetxCount ()
{
NS_LOG_ERROR (this);
if (Simulator::Now () - m_lastRetransmission >= MilliSeconds (100))
@@ -172,12 +172,12 @@
}
}
-std::ostream& operator<< (std::ostream& os, const CcnxPitEntry &entry)
+std::ostream& operator<< (std::ostream& os, const NdnPitEntry &entry)
{
os << "Prefix: " << *entry.m_prefix << "\n";
os << "In: ";
bool first = true;
- BOOST_FOREACH (const CcnxPitEntryIncomingFace &face, entry.m_incoming)
+ BOOST_FOREACH (const NdnPitEntryIncomingFace &face, entry.m_incoming)
{
if (!first)
os << ",";
@@ -189,7 +189,7 @@
os << "\nOut: ";
first = true;
- BOOST_FOREACH (const CcnxPitEntryOutgoingFace &face, entry.m_outgoing)
+ BOOST_FOREACH (const NdnPitEntryOutgoingFace &face, entry.m_outgoing)
{
if (!first)
os << ",";
diff --git a/model/pit/ccnx-pit-entry.h b/model/pit/ndn-pit-entry.h
similarity index 75%
rename from model/pit/ccnx-pit-entry.h
rename to model/pit/ndn-pit-entry.h
index 4cbae2e..c14b93c 100644
--- a/model/pit/ccnx-pit-entry.h
+++ b/model/pit/ndn-pit-entry.h
@@ -18,15 +18,15 @@
* Author: Alexander Afanasyev <alexander.afanasyev@ucla.edu>
*/
-#ifndef _CCNX_PIT_ENTRY_H_
-#define _CCNX_PIT_ENTRY_H_
+#ifndef _NDN_PIT_ENTRY_H_
+#define _NDN_PIT_ENTRY_H_
#include "ns3/ptr.h"
#include "ns3/simple-ref-count.h"
-#include "ns3/ccnx-fib.h"
-#include "ccnx-pit-entry-incoming-face.h"
-#include "ccnx-pit-entry-outgoing-face.h"
+#include "ns3/ndn-fib.h"
+#include "ndn-pit-entry-incoming-face.h"
+#include "ndn-pit-entry-outgoing-face.h"
#include <boost/multi_index_container.hpp>
#include <boost/multi_index/tag.hpp>
@@ -39,38 +39,38 @@
namespace ns3 {
-class CcnxFace;
-class CcnxNameComponents;
-class CcnxPit;
+class NdnFace;
+class NdnNameComponents;
+class NdnPit;
/// @cond include_hidden
-namespace __ccnx_private
+namespace __ndn_private
{
class i_retx {};
}
/// @endcond
/**
- * \ingroup ccnx
- * \brief Typedef for indexed face container of CcnxPitEntryOutgoingFace
+ * \ingroup ndn
+ * \brief Typedef for indexed face container of NdnPitEntryOutgoingFace
*
* Indexes:
* - by face (may be it will be possible to replace with just the std::map)
*/
-struct CcnxPitEntryOutgoingFaceContainer
+struct NdnPitEntryOutgoingFaceContainer
{
/// @cond include_hidden
typedef boost::multi_index::multi_index_container<
- CcnxPitEntryOutgoingFace,
+ NdnPitEntryOutgoingFace,
boost::multi_index::indexed_by<
- // For fast access to elements using CcnxFace
+ // For fast access to elements using NdnFace
boost::multi_index::ordered_unique<
- boost::multi_index::tag<__ccnx_private::i_face>,
- boost::multi_index::member<CcnxPitEntryOutgoingFace, Ptr<CcnxFace>, &CcnxPitEntryOutgoingFace::m_face>
+ boost::multi_index::tag<__ndn_private::i_face>,
+ boost::multi_index::member<NdnPitEntryOutgoingFace, Ptr<NdnFace>, &NdnPitEntryOutgoingFace::m_face>
>,
boost::multi_index::ordered_non_unique<
- boost::multi_index::tag<__ccnx_private::i_retx>,
- boost::multi_index::member<CcnxPitEntryOutgoingFace, uint32_t, &CcnxPitEntryOutgoingFace::m_retxCount>
+ boost::multi_index::tag<__ndn_private::i_retx>,
+ boost::multi_index::member<NdnPitEntryOutgoingFace, uint32_t, &NdnPitEntryOutgoingFace::m_retxCount>
>
>
> type;
@@ -79,18 +79,18 @@
/**
- * \ingroup ccnx
+ * \ingroup ndn
* \brief structure for PIT entry
*
* All set-methods are virtual, in case index rearrangement is necessary in the derived classes
*/
-class CcnxPitEntry : public SimpleRefCount<CcnxPitEntry>
+class NdnPitEntry : public SimpleRefCount<NdnPitEntry>
{
public:
- typedef std::set< CcnxPitEntryIncomingFace > in_container; ///< @brief incoming faces container type
+ typedef std::set< NdnPitEntryIncomingFace > in_container; ///< @brief incoming faces container type
typedef in_container::iterator in_iterator; ///< @brief iterator to incoming faces
- typedef CcnxPitEntryOutgoingFaceContainer::type out_container; ///< @brief outgoing faces container type
+ typedef NdnPitEntryOutgoingFaceContainer::type out_container; ///< @brief outgoing faces container type
typedef out_container::iterator out_iterator; ///< @brief iterator to outgoing faces
typedef std::set< uint32_t > nonce_container; ///< @brief nonce container type
@@ -101,12 +101,12 @@
* \param offsetTime Relative time to the current moment, representing PIT entry lifetime
* \param fibEntry A FIB entry associated with the PIT entry
*/
- CcnxPitEntry (CcnxPit &container, Ptr<const CcnxInterestHeader> header, Ptr<CcnxFibEntry> fibEntry);
+ NdnPitEntry (NdnPit &container, Ptr<const NdnInterestHeader> header, Ptr<NdnFibEntry> fibEntry);
/**
* @brief Virtual destructor
*/
- virtual ~CcnxPitEntry () {}
+ virtual ~NdnPitEntry () {}
/**
* @brief Update lifetime of PIT entry
@@ -122,7 +122,7 @@
/**
* @brief Get prefix of the PIT entry
*/
- const CcnxNameComponents &
+ const NdnNameComponents &
GetPrefix () const
{ return *m_prefix; }
@@ -162,13 +162,13 @@
* @returns iterator to the added entry
*/
virtual in_iterator
- AddIncoming (Ptr<CcnxFace> face);
+ AddIncoming (Ptr<NdnFace> face);
/**
* @brief Remove incoming entry for face `face`
*/
virtual void
- RemoveIncoming (Ptr<CcnxFace> face);
+ RemoveIncoming (Ptr<NdnFace> face);
/**
* @brief Clear all incoming faces either after all of them were satisfied or NACKed
@@ -184,7 +184,7 @@
* @returns iterator to the added entry
*/
virtual out_iterator
- AddOutgoing (Ptr<CcnxFace> face);
+ AddOutgoing (Ptr<NdnFace> face);
/**
* @brief Clear all incoming faces either after all of them were satisfied or NACKed
@@ -200,7 +200,7 @@
* Face is removed from the lists of incoming and outgoing faces
*/
virtual void
- RemoveAllReferencesToFace (Ptr<CcnxFace> face);
+ RemoveAllReferencesToFace (Ptr<NdnFace> face);
/**
* @brief Flag outgoing face as hopeless
@@ -208,7 +208,7 @@
// virtual void
// SetWaitingInVain (out_iterator face);
virtual void
- SetWaitingInVain (Ptr<CcnxFace> face);
+ SetWaitingInVain (Ptr<NdnFace> face);
/**
* @brief Check if all outgoing faces are NACKed
@@ -221,7 +221,7 @@
* \see AreAllOutgoingInVain
**/
bool
- AreTherePromisingOutgoingFacesExcept (Ptr<CcnxFace> face) const;
+ AreTherePromisingOutgoingFacesExcept (Ptr<NdnFace> face) const;
/**
* @brief Increase maximum limit of allowed retransmission per outgoing face
@@ -229,7 +229,7 @@
virtual void
IncreaseAllowedRetxCount ();
- Ptr<CcnxFibEntry>
+ Ptr<NdnFibEntry>
GetFibEntry () { return m_fibEntry; };
const in_container &
@@ -242,13 +242,13 @@
GetMaxRetxCount () const { return m_maxRetxCount; }
private:
- friend std::ostream& operator<< (std::ostream& os, const CcnxPitEntry &entry);
+ friend std::ostream& operator<< (std::ostream& os, const NdnPitEntry &entry);
protected:
- CcnxPit &m_container; ///< @brief Reference to the container (to rearrange indexes, if necessary)
+ NdnPit &m_container; ///< @brief Reference to the container (to rearrange indexes, if necessary)
- Ptr<const CcnxNameComponents> m_prefix; ///< \brief Prefix of the PIT entry
- Ptr<CcnxFibEntry> m_fibEntry; ///< \brief FIB entry related to this prefix
+ Ptr<const NdnNameComponents> m_prefix; ///< \brief Prefix of the PIT entry
+ Ptr<NdnFibEntry> m_fibEntry; ///< \brief FIB entry related to this prefix
nonce_container m_seenNonces; ///< \brief map of nonces that were seen for this prefix
in_container m_incoming; ///< \brief container for incoming interests
@@ -260,8 +260,8 @@
uint32_t m_maxRetxCount; ///< @brief Maximum allowed number of retransmissions via outgoing faces
};
-std::ostream& operator<< (std::ostream& os, const CcnxPitEntry &entry);
+std::ostream& operator<< (std::ostream& os, const NdnPitEntry &entry);
} // namespace ns3
-#endif // _CCNX_PIT_ENTRY_H_
+#endif // _NDN_PIT_ENTRY_H_
diff --git a/model/pit/ccnx-pit-impl.cc b/model/pit/ndn-pit-impl.cc
similarity index 67%
rename from model/pit/ccnx-pit-impl.cc
rename to model/pit/ndn-pit-impl.cc
index 222b3c9..dcf6ada 100644
--- a/model/pit/ccnx-pit-impl.cc
+++ b/model/pit/ndn-pit-impl.cc
@@ -18,11 +18,11 @@
* Author: Alexander Afanasyev <alexander.afanasyev@ucla.edu>
*/
-#include "ccnx-pit-impl.h"
+#include "ndn-pit-impl.h"
-#include "ns3/ccnx-interest-header.h"
-#include "ns3/ccnx-content-object-header.h"
-#include "ns3/ccnx-forwarding-strategy.h"
+#include "ns3/ndn-interest-header.h"
+#include "ns3/ndn-content-object-header.h"
+#include "ns3/ndn-forwarding-strategy.h"
#include "../../utils/empty-policy.h"
#include "../../utils/persistent-policy.h"
@@ -37,7 +37,7 @@
#include <boost/lambda/bind.hpp>
#include <boost/lambda/lambda.hpp>
-NS_LOG_COMPONENT_DEFINE ("CcnxPitImpl");
+NS_LOG_COMPONENT_DEFINE ("NdnPitImpl");
using namespace boost::tuples;
using namespace boost;
@@ -57,17 +57,17 @@
template<>
TypeId
-CcnxPitImpl<persistent_policy_traits>::GetTypeId ()
+NdnPitImpl<persistent_policy_traits>::GetTypeId ()
{
- static TypeId tid = TypeId ("ns3::CcnxPit")
- .SetGroupName ("Ccnx")
- .SetParent<CcnxPit> ()
- .AddConstructor< CcnxPitImpl< persistent_policy_traits > > ()
+ static TypeId tid = TypeId ("ns3::NdnPit")
+ .SetGroupName ("Ndn")
+ .SetParent<NdnPit> ()
+ .AddConstructor< NdnPitImpl< persistent_policy_traits > > ()
.AddAttribute ("MaxSize",
"Set maximum number of entries in PIT. If 0, limit is not enforced",
StringValue ("0"),
- MakeUintegerAccessor (&CcnxPitImpl< persistent_policy_traits >::GetMaxSize,
- &CcnxPitImpl< persistent_policy_traits >::SetMaxSize),
+ MakeUintegerAccessor (&NdnPitImpl< persistent_policy_traits >::GetMaxSize,
+ &NdnPitImpl< persistent_policy_traits >::SetMaxSize),
MakeUintegerChecker<uint32_t> ())
;
@@ -76,17 +76,17 @@
template<>
TypeId
-CcnxPitImpl<random_policy_traits>::GetTypeId ()
+NdnPitImpl<random_policy_traits>::GetTypeId ()
{
- static TypeId tid = TypeId ("ns3::CcnxPitRandom")
- .SetGroupName ("Ccnx")
- .SetParent<CcnxPit> ()
- .AddConstructor< CcnxPitImpl< random_policy_traits > > ()
+ static TypeId tid = TypeId ("ns3::NdnPitRandom")
+ .SetGroupName ("Ndn")
+ .SetParent<NdnPit> ()
+ .AddConstructor< NdnPitImpl< random_policy_traits > > ()
.AddAttribute ("MaxSize",
"Set maximum number of entries in PIT. If 0, limit is not enforced",
StringValue ("0"),
- MakeUintegerAccessor (&CcnxPitImpl< random_policy_traits >::GetMaxSize,
- &CcnxPitImpl< random_policy_traits >::SetMaxSize),
+ MakeUintegerAccessor (&NdnPitImpl< random_policy_traits >::GetMaxSize,
+ &NdnPitImpl< random_policy_traits >::SetMaxSize),
MakeUintegerChecker<uint32_t> ())
;
@@ -95,17 +95,17 @@
template<>
TypeId
-CcnxPitImpl<lru_policy_traits>::GetTypeId ()
+NdnPitImpl<lru_policy_traits>::GetTypeId ()
{
- static TypeId tid = TypeId ("ns3::CcnxPitLru")
- .SetGroupName ("Ccnx")
- .SetParent<CcnxPit> ()
- .AddConstructor< CcnxPitImpl< lru_policy_traits > > ()
+ static TypeId tid = TypeId ("ns3::NdnPitLru")
+ .SetGroupName ("Ndn")
+ .SetParent<NdnPit> ()
+ .AddConstructor< NdnPitImpl< lru_policy_traits > > ()
.AddAttribute ("MaxSize",
"Set maximum number of entries in PIT. If 0, limit is not enforced",
StringValue ("0"),
- MakeUintegerAccessor (&CcnxPitImpl< lru_policy_traits >::GetMaxSize,
- &CcnxPitImpl< lru_policy_traits >::SetMaxSize),
+ MakeUintegerAccessor (&NdnPitImpl< lru_policy_traits >::GetMaxSize,
+ &NdnPitImpl< lru_policy_traits >::SetMaxSize),
MakeUintegerChecker<uint32_t> ())
;
@@ -114,38 +114,38 @@
// template<class Policy>
// TypeId
-// CcnxPitImpl<Policy>::GetTypeId ()
+// NdnPitImpl<Policy>::GetTypeId ()
// {
// static TypeId tid = TypeId ("ns3::UnknownPitPolicy");
// return tid;
// }
-// CcnxPitEntryImpl::CcnxPitEntryImpl (CcnxPit &pit,
-// Ptr<const CcnxInterestHeader> header,
-// Ptr<CcnxFibEntry> fibEntry)
-// : CcnxPitEntry (pit, header, fibEntry)
+// NdnPitEntryImpl::NdnPitEntryImpl (NdnPit &pit,
+// Ptr<const NdnInterestHeader> header,
+// Ptr<NdnFibEntry> fibEntry)
+// : NdnPitEntry (pit, header, fibEntry)
// , item_ (0)
// {
-// static_cast<CcnxPitImpl&> (m_container).i_time.insert (*this);
+// static_cast<NdnPitImpl&> (m_container).i_time.insert (*this);
// }
-// CcnxPitEntryImpl::~CcnxPitEntryImpl ()
+// NdnPitEntryImpl::~NdnPitEntryImpl ()
// {
-// static_cast<CcnxPitImpl&> (m_container).i_time.erase (*this);
+// static_cast<NdnPitImpl&> (m_container).i_time.erase (*this);
// }
// TypeId
-// CcnxPitImpl::GetTypeId ()
+// NdnPitImpl::GetTypeId ()
// {
-// static TypeId tid = TypeId ("ns3::CcnxPit")
-// .SetGroupName ("Ccnx")
-// .SetParent<CcnxPit> ()
-// .AddConstructor<CcnxPitImpl> ()
+// static TypeId tid = TypeId ("ns3::NdnPit")
+// .SetGroupName ("Ndn")
+// .SetParent<NdnPit> ()
+// .AddConstructor<NdnPitImpl> ()
// .AddAttribute ("MaxSize",
// "Set maximum number of entries in PIT. If 0, limit is not enforced",
// StringValue ("0"),
-// MakeUintegerAccessor (&CcnxPitImpl::GetMaxSize, &CcnxPitImpl::SetMaxSize),
+// MakeUintegerAccessor (&NdnPitImpl::GetMaxSize, &NdnPitImpl::SetMaxSize),
// MakeUintegerChecker<uint32_t> ())
// ;
@@ -155,17 +155,17 @@
// template<class AcceptanceAndReplacementPolicy>
// TypeId
-// CcnxPitImpl::GetTypeId ()
+// NdnPitImpl::GetTypeId ()
// {
// #error "Not specialized version is not supported"
-// // static TypeId tid = TypeId ("ns3::CcnxPit")
-// // .SetGroupName ("Ccnx")
-// // .SetParent<CcnxPit> ()
-// // .AddConstructor<CcnxPitImpl> ()
+// // static TypeId tid = TypeId ("ns3::NdnPit")
+// // .SetGroupName ("Ndn")
+// // .SetParent<NdnPit> ()
+// // .AddConstructor<NdnPitImpl> ()
// // .AddAttribute ("MaxSize",
// // "Set maximum number of entries in PIT. If 0, limit is not enforced",
// // StringValue ("0"),
-// // MakeUintegerAccessor (&CcnxPitImpl::GetMaxSize, &CcnxPitImpl::SetMaxSize),
+// // MakeUintegerAccessor (&NdnPitImpl::GetMaxSize, &NdnPitImpl::SetMaxSize),
// // MakeUintegerChecker<uint32_t> ())
// // ;
@@ -173,60 +173,60 @@
// }
template<class Policy>
-CcnxPitImpl<Policy>::CcnxPitImpl ()
+NdnPitImpl<Policy>::NdnPitImpl ()
{
}
template<class Policy>
-CcnxPitImpl<Policy>::~CcnxPitImpl ()
+NdnPitImpl<Policy>::~NdnPitImpl ()
{
}
template<class Policy>
uint32_t
-CcnxPitImpl<Policy>::GetMaxSize () const
+NdnPitImpl<Policy>::GetMaxSize () const
{
return super::getPolicy ().get_max_size ();
}
template<class Policy>
void
-CcnxPitImpl<Policy>::SetMaxSize (uint32_t maxSize)
+NdnPitImpl<Policy>::SetMaxSize (uint32_t maxSize)
{
super::getPolicy ().set_max_size (maxSize);
}
template<class Policy>
void
-CcnxPitImpl<Policy>::NotifyNewAggregate ()
+NdnPitImpl<Policy>::NotifyNewAggregate ()
{
if (m_fib == 0)
{
- m_fib = GetObject<CcnxFib> ();
+ m_fib = GetObject<NdnFib> ();
}
if (m_forwardingStrategy == 0)
{
- m_forwardingStrategy = GetObject<CcnxForwardingStrategy> ();
+ m_forwardingStrategy = GetObject<NdnForwardingStrategy> ();
}
- CcnxPit::NotifyNewAggregate ();
+ NdnPit::NotifyNewAggregate ();
}
template<class Policy>
void
-CcnxPitImpl<Policy>::DoDispose ()
+NdnPitImpl<Policy>::DoDispose ()
{
super::clear ();
m_forwardingStrategy = 0;
m_fib = 0;
- CcnxPit::DoDispose ();
+ NdnPit::DoDispose ();
}
template<class Policy>
void
-CcnxPitImpl<Policy>::RescheduleCleaning ()
+NdnPitImpl<Policy>::RescheduleCleaning ()
{
m_cleanEvent.Cancel ();
if (i_time.empty ())
@@ -243,12 +243,12 @@
// i_time.begin ()->GetExpireTime () << "s abs time");
m_cleanEvent = Simulator::Schedule (nextEvent,
- &CcnxPitImpl<Policy>::CleanExpired, this);
+ &NdnPitImpl<Policy>::CleanExpired, this);
}
template<class Policy>
void
-CcnxPitImpl<Policy>::CleanExpired ()
+NdnPitImpl<Policy>::CleanExpired ()
{
NS_LOG_LOGIC ("Cleaning PIT. Total: " << i_time.size ());
Time now = Simulator::Now ();
@@ -276,8 +276,8 @@
}
template<class Policy>
-Ptr<CcnxPitEntry>
-CcnxPitImpl<Policy>::Lookup (const CcnxContentObjectHeader &header)
+Ptr<NdnPitEntry>
+NdnPitImpl<Policy>::Lookup (const NdnContentObjectHeader &header)
{
/// @todo use predicate to search with exclude filters
typename super::iterator item = super::longest_prefix_match (header.GetName ());
@@ -289,8 +289,8 @@
}
template<class Policy>
-Ptr<CcnxPitEntry>
-CcnxPitImpl<Policy>::Lookup (const CcnxInterestHeader &header)
+Ptr<NdnPitEntry>
+NdnPitImpl<Policy>::Lookup (const NdnInterestHeader &header)
{
// NS_LOG_FUNCTION (header.GetName ());
NS_ASSERT_MSG (m_fib != 0, "FIB should be set");
@@ -307,10 +307,10 @@
}
template<class Policy>
-Ptr<CcnxPitEntry>
-CcnxPitImpl<Policy>::Create (Ptr<const CcnxInterestHeader> header)
+Ptr<NdnPitEntry>
+NdnPitImpl<Policy>::Create (Ptr<const NdnInterestHeader> header)
{
- Ptr<CcnxFibEntry> fibEntry = m_fib->LongestPrefixMatch (*header);
+ Ptr<NdnFibEntry> fibEntry = m_fib->LongestPrefixMatch (*header);
if (fibEntry == 0)
return 0;
@@ -341,7 +341,7 @@
template<class Policy>
void
-CcnxPitImpl<Policy>::MarkErased (Ptr<CcnxPitEntry> item)
+NdnPitImpl<Policy>::MarkErased (Ptr<NdnPitEntry> item)
{
// entry->SetExpireTime (Simulator::Now () + m_PitEntryPruningTimout);
super::erase (StaticCast< entry > (item)->to_iterator ());
@@ -350,7 +350,7 @@
template<class Policy>
void
-CcnxPitImpl<Policy>::Print (std::ostream& os) const
+NdnPitImpl<Policy>::Print (std::ostream& os) const
{
// !!! unordered_set imposes "random" order of item in the same level !!!
typename super::parent_trie::const_recursive_iterator item (super::getTrie ()), end (0);
@@ -364,14 +364,14 @@
template<class Policy>
uint32_t
-CcnxPitImpl<Policy>::GetSize () const
+NdnPitImpl<Policy>::GetSize () const
{
return super::getPolicy ().size ();
}
template<class Policy>
-Ptr<CcnxPitEntry>
-CcnxPitImpl<Policy>::Begin ()
+Ptr<NdnPitEntry>
+NdnPitImpl<Policy>::Begin ()
{
typename super::parent_trie::recursive_iterator item (super::getTrie ()), end (0);
for (; item != end; item++)
@@ -387,15 +387,15 @@
}
template<class Policy>
-Ptr<CcnxPitEntry>
-CcnxPitImpl<Policy>::End ()
+Ptr<NdnPitEntry>
+NdnPitImpl<Policy>::End ()
{
return 0;
}
template<class Policy>
-Ptr<CcnxPitEntry>
-CcnxPitImpl<Policy>::Next (Ptr<CcnxPitEntry> from)
+Ptr<NdnPitEntry>
+NdnPitImpl<Policy>::Next (Ptr<NdnPitEntry> from)
{
if (from == 0) return 0;
@@ -417,13 +417,13 @@
// explicit instantiation and registering
-template class CcnxPitImpl<persistent_policy_traits>;
-template class CcnxPitImpl<random_policy_traits>;
-template class CcnxPitImpl<lru_policy_traits>;
+template class NdnPitImpl<persistent_policy_traits>;
+template class NdnPitImpl<random_policy_traits>;
+template class NdnPitImpl<lru_policy_traits>;
-NS_OBJECT_ENSURE_REGISTERED_TEMPL(CcnxPitImpl, persistent_policy_traits);
-NS_OBJECT_ENSURE_REGISTERED_TEMPL(CcnxPitImpl, random_policy_traits);
-NS_OBJECT_ENSURE_REGISTERED_TEMPL(CcnxPitImpl, lru_policy_traits);
+NS_OBJECT_ENSURE_REGISTERED_TEMPL(NdnPitImpl, persistent_policy_traits);
+NS_OBJECT_ENSURE_REGISTERED_TEMPL(NdnPitImpl, random_policy_traits);
+NS_OBJECT_ENSURE_REGISTERED_TEMPL(NdnPitImpl, lru_policy_traits);
} // namespace ns3
diff --git a/model/pit/ccnx-pit-impl.h b/model/pit/ndn-pit-impl.h
similarity index 71%
rename from model/pit/ccnx-pit-impl.h
rename to model/pit/ndn-pit-impl.h
index 6754dcd..4673bdb 100644
--- a/model/pit/ccnx-pit-impl.h
+++ b/model/pit/ndn-pit-impl.h
@@ -18,38 +18,38 @@
* Author: Alexander Afanasyev <alexander.afanasyev@ucla.edu>
*/
-#ifndef _CCNX_PIT_IMPL_H_
-#define _CCNX_PIT_IMPL_H_
+#ifndef _NDN_PIT_IMPL_H_
+#define _NDN_PIT_IMPL_H_
-#include "ccnx-pit.h"
+#include "ndn-pit.h"
#include "../../utils/trie-with-policy.h"
-#include "ccnx-pit-entry-impl.h"
+#include "ndn-pit-entry-impl.h"
-#include "ns3/ccnx-name-components.h"
+#include "ns3/ndn-name-components.h"
namespace ns3 {
/**
- * \ingroup ccnx
+ * \ingroup ndn
* \brief Class implementing Pending Interests Table
*/
template<class Policy>
-class CcnxPitImpl : public CcnxPit
- , protected ndnSIM::trie_with_policy<CcnxNameComponents,
- ndnSIM::smart_pointer_payload_traits<CcnxPitEntryImpl< CcnxPitImpl< Policy > > >,
+class NdnPitImpl : public NdnPit
+ , protected ndnSIM::trie_with_policy<NdnNameComponents,
+ ndnSIM::smart_pointer_payload_traits<NdnPitEntryImpl< NdnPitImpl< Policy > > >,
// ndnSIM::persistent_policy_traits
Policy
>
{
public:
- typedef ndnSIM::trie_with_policy<CcnxNameComponents,
- ndnSIM::smart_pointer_payload_traits<CcnxPitEntryImpl< CcnxPitImpl< Policy > > >,
+ typedef ndnSIM::trie_with_policy<NdnNameComponents,
+ ndnSIM::smart_pointer_payload_traits<NdnPitEntryImpl< NdnPitImpl< Policy > > >,
// ndnSIM::persistent_policy_traits
Policy
> super;
- typedef CcnxPitEntryImpl< CcnxPitImpl< Policy > > entry;
+ typedef NdnPitEntryImpl< NdnPitImpl< Policy > > entry;
/**
* \brief Interface ID
@@ -61,25 +61,25 @@
/**
* \brief PIT constructor
*/
- CcnxPitImpl ();
+ NdnPitImpl ();
/**
* \brief Destructor
*/
- virtual ~CcnxPitImpl ();
+ virtual ~NdnPitImpl ();
- // inherited from CcnxPit
- virtual Ptr<CcnxPitEntry>
- Lookup (const CcnxContentObjectHeader &header);
+ // inherited from NdnPit
+ virtual Ptr<NdnPitEntry>
+ Lookup (const NdnContentObjectHeader &header);
- virtual Ptr<CcnxPitEntry>
- Lookup (const CcnxInterestHeader &header);
+ virtual Ptr<NdnPitEntry>
+ Lookup (const NdnInterestHeader &header);
- virtual Ptr<CcnxPitEntry>
- Create (Ptr<const CcnxInterestHeader> header);
+ virtual Ptr<NdnPitEntry>
+ Create (Ptr<const NdnInterestHeader> header);
virtual void
- MarkErased (Ptr<CcnxPitEntry> entry);
+ MarkErased (Ptr<NdnPitEntry> entry);
virtual void
Print (std::ostream &os) const;
@@ -87,14 +87,14 @@
virtual uint32_t
GetSize () const;
- virtual Ptr<CcnxPitEntry>
+ virtual Ptr<NdnPitEntry>
Begin ();
- virtual Ptr<CcnxPitEntry>
+ virtual Ptr<NdnPitEntry>
End ();
- virtual Ptr<CcnxPitEntry>
- Next (Ptr<CcnxPitEntry>);
+ virtual Ptr<NdnPitEntry>
+ Next (Ptr<NdnPitEntry>);
protected:
void RescheduleCleaning ();
@@ -113,8 +113,8 @@
private:
EventId m_cleanEvent;
- Ptr<CcnxFib> m_fib; ///< \brief Link to FIB table
- Ptr<CcnxForwardingStrategy> m_forwardingStrategy;
+ Ptr<NdnFib> m_fib; ///< \brief Link to FIB table
+ Ptr<NdnForwardingStrategy> m_forwardingStrategy;
// indexes
typedef
@@ -126,9 +126,9 @@
> time_index;
time_index i_time;
- friend class CcnxPitEntryImpl< CcnxPitImpl >;
+ friend class NdnPitEntryImpl< NdnPitImpl >;
};
} // namespace ns3
-#endif /* CCNX_PIT_IMPL_H */
+#endif /* NDN_PIT_IMPL_H */
diff --git a/model/pit/ccnx-pit.cc b/model/pit/ndn-pit.cc
similarity index 76%
rename from model/pit/ccnx-pit.cc
rename to model/pit/ndn-pit.cc
index e07ccfd..1f1bcde 100644
--- a/model/pit/ccnx-pit.cc
+++ b/model/pit/ndn-pit.cc
@@ -18,10 +18,10 @@
* Author: Alexander Afanasyev <alexander.afanasyev@ucla.edu>
*/
-#include "ccnx-pit.h"
+#include "ndn-pit.h"
-#include "ns3/ccnx-interest-header.h"
-#include "ns3/ccnx-content-object-header.h"
+#include "ns3/ndn-interest-header.h"
+#include "ns3/ndn-content-object-header.h"
#include "ns3/log.h"
#include "ns3/string.h"
@@ -31,36 +31,36 @@
#include <boost/lambda/bind.hpp>
#include <boost/lambda/lambda.hpp>
-NS_LOG_COMPONENT_DEFINE ("CcnxPit");
+NS_LOG_COMPONENT_DEFINE ("NdnPit");
namespace ns3 {
-NS_OBJECT_ENSURE_REGISTERED (CcnxPit);
+NS_OBJECT_ENSURE_REGISTERED (NdnPit);
-using namespace __ccnx_private;
+using namespace __ndn_private;
TypeId
-CcnxPit::GetTypeId ()
+NdnPit::GetTypeId ()
{
- static TypeId tid = TypeId ("ns3::private::CcnxPit")
- .SetGroupName ("Ccnx")
+ static TypeId tid = TypeId ("ns3::private::NdnPit")
+ .SetGroupName ("Ndn")
.SetParent<Object> ()
.AddAttribute ("PitEntryPruningTimout",
"Timeout for PIT entry to live after being satisfied. To make sure recently satisfied interest will not be satisfied again",
StringValue ("100ms"),
- MakeTimeAccessor (&CcnxPit::m_PitEntryPruningTimout),
+ MakeTimeAccessor (&NdnPit::m_PitEntryPruningTimout),
MakeTimeChecker ())
;
return tid;
}
-CcnxPit::CcnxPit ()
+NdnPit::NdnPit ()
{
}
-CcnxPit::~CcnxPit ()
+NdnPit::~NdnPit ()
{
}
diff --git a/model/pit/ccnx-pit.h b/model/pit/ndn-pit.h
similarity index 81%
rename from model/pit/ccnx-pit.h
rename to model/pit/ndn-pit.h
index 26cc626..6a0556b 100644
--- a/model/pit/ccnx-pit.h
+++ b/model/pit/ndn-pit.h
@@ -18,30 +18,30 @@
* Author: Alexander Afanasyev <alexander.afanasyev@ucla.edu>
*/
-#ifndef _CCNX_PIT_H_
-#define _CCNX_PIT_H_
+#ifndef _NDN_PIT_H_
+#define _NDN_PIT_H_
#include "ns3/object.h"
#include "ns3/nstime.h"
#include "ns3/event-id.h"
-#include "ccnx-pit-entry.h"
+#include "ndn-pit-entry.h"
namespace ns3 {
-class Ccnx;
-class CcnxFace;
-class CcnxContentObjectHeader;
-class CcnxInterestHeader;
+class Ndn;
+class NdnFace;
+class NdnContentObjectHeader;
+class NdnInterestHeader;
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
/**
- * \ingroup ccnx
+ * \ingroup ndn
* \brief Class implementing Pending Interests Table
*/
-class CcnxPit : public Object
+class NdnPit : public Object
{
public:
/**
@@ -54,12 +54,12 @@
/**
* \brief PIT constructor
*/
- CcnxPit ();
+ NdnPit ();
/**
* \brief Destructor
*/
- virtual ~CcnxPit ();
+ virtual ~NdnPit ();
/**
* \brief Find corresponding PIT entry for the given content name
@@ -72,8 +72,8 @@
* \returns smart pointer to PIT entry. If record not found,
* returns 0
*/
- virtual Ptr<CcnxPitEntry>
- Lookup (const CcnxContentObjectHeader &header) = 0;
+ virtual Ptr<NdnPitEntry>
+ Lookup (const NdnContentObjectHeader &header) = 0;
/**
* \brief Find a PIT entry for the given content interest
@@ -81,8 +81,8 @@
* \returns iterator to Pit entry. If record not found,
* return end() iterator
*/
- virtual Ptr<CcnxPitEntry>
- Lookup (const CcnxInterestHeader &header) = 0;
+ virtual Ptr<NdnPitEntry>
+ Lookup (const NdnInterestHeader &header) = 0;
/**
* @brief Creates a PIT entry for the given interest
@@ -92,8 +92,8 @@
*
* Note. This call assumes that the entry does not exist (i.e., there was a Lookup call before)
*/
- virtual Ptr<CcnxPitEntry>
- Create (Ptr<const CcnxInterestHeader> header) = 0;
+ virtual Ptr<NdnPitEntry>
+ Create (Ptr<const NdnInterestHeader> header) = 0;
/**
* @brief Mark PIT entry deleted
@@ -103,7 +103,7 @@
* lifetime +m_PitEntryDefaultLifetime from Now ()
*/
virtual void
- MarkErased (Ptr<CcnxPitEntry> entry) = 0;
+ MarkErased (Ptr<NdnPitEntry> entry) = 0;
/**
* @brief Print out PIT contents for debugging purposes
@@ -122,20 +122,20 @@
/**
* @brief Return first element of FIB (no order guaranteed)
*/
- virtual Ptr<CcnxPitEntry>
+ virtual Ptr<NdnPitEntry>
Begin () = 0;
/**
* @brief Return item next after last (no order guaranteed)
*/
- virtual Ptr<CcnxPitEntry>
+ virtual Ptr<NdnPitEntry>
End () = 0;
/**
* @brief Advance the iterator
*/
- virtual Ptr<CcnxPitEntry>
- Next (Ptr<CcnxPitEntry>) = 0;
+ virtual Ptr<NdnPitEntry>
+ Next (Ptr<NdnPitEntry>) = 0;
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
@@ -144,8 +144,8 @@
/**
* @brief Static call to cheat python bindings
*/
- static inline Ptr<CcnxPit>
- GetCcnxPit (Ptr<Object> node);
+ static inline Ptr<NdnPit>
+ GetNdnPit (Ptr<Object> node);
protected:
// configuration variables. Check implementation of GetTypeId for more details
@@ -156,19 +156,19 @@
///////////////////////////////////////////////////////////////////////////////
inline std::ostream&
-operator<< (std::ostream& os, const CcnxPit &pit)
+operator<< (std::ostream& os, const NdnPit &pit)
{
pit.Print (os);
return os;
}
-inline Ptr<CcnxPit>
-CcnxPit::GetCcnxPit (Ptr<Object> node)
+inline Ptr<NdnPit>
+NdnPit::GetNdnPit (Ptr<Object> node)
{
- return node->GetObject<CcnxPit> ();
+ return node->GetObject<NdnPit> ();
}
} // namespace ns3
-#endif /* CCNX_PIT_H */
+#endif /* NDN_PIT_H */
diff --git a/plugins/topology/annotated-topology-reader.cc b/plugins/topology/annotated-topology-reader.cc
index 9dcbc9d..d90eebb 100644
--- a/plugins/topology/annotated-topology-reader.cc
+++ b/plugins/topology/annotated-topology-reader.cc
@@ -37,8 +37,8 @@
#include "ns3/pointer.h"
#include "ns3/uinteger.h"
#include "ns3/ipv4-address.h"
-#include "ns3/ccnx.h"
-#include "ns3/ccnx-face.h"
+#include "ns3/ndn.h"
+#include "ns3/ndn-face.h"
#include "ns3/constant-position-mobility-model.h"
@@ -249,10 +249,10 @@
ipv4->SetMetric (interfaceId,metric);
}
- Ptr<Ccnx> ccnx = link.GetFromNode ()->GetObject<Ccnx> ();
- if (ccnx != 0)
+ Ptr<Ndn> ndn = link.GetFromNode ()->GetObject<Ndn> ();
+ if (ndn != 0)
{
- Ptr<CcnxFace> face = ccnx->GetFaceByNetDevice (link.GetFromNetDevice ());
+ Ptr<NdnFace> face = ndn->GetFaceByNetDevice (link.GetFromNetDevice ());
NS_ASSERT (face != 0);
face->SetMetric (metric);
@@ -269,10 +269,10 @@
ipv4->SetMetric (interfaceId,metric);
}
- Ptr<Ccnx> ccnx = link.GetToNode ()->GetObject<Ccnx> ();
- if (ccnx != 0)
+ Ptr<Ndn> ndn = link.GetToNode ()->GetObject<Ndn> ();
+ if (ndn != 0)
{
- Ptr<CcnxFace> face = ccnx->GetFaceByNetDevice (link.GetToNetDevice ());
+ Ptr<NdnFace> face = ndn->GetFaceByNetDevice (link.GetToNetDevice ());
NS_ASSERT (face != 0);
face->SetMetric (metric);
diff --git a/test/ndnSIM-pit.cc b/test/ndnSIM-pit.cc
index f039c79..8593baf 100644
--- a/test/ndnSIM-pit.cc
+++ b/test/ndnSIM-pit.cc
@@ -24,22 +24,22 @@
#include <boost/lexical_cast.hpp>
-NS_LOG_COMPONENT_DEFINE ("CcnxPitTest");
+NS_LOG_COMPONENT_DEFINE ("NdnPitTest");
namespace ns3
{
-class Client : public CcnxApp
+class Client : public NdnApp
{
protected:
void
StartApplication ()
{
- CcnxApp::StartApplication ();
+ NdnApp::StartApplication ();
// add default route
- Ptr<CcnxFibEntry> fibEntry = GetNode ()->GetObject<CcnxFib> ()->Add (CcnxNameComponents ("/"), m_face, 0);
- fibEntry->UpdateStatus (m_face, CcnxFibFaceMetric::NDN_FIB_GREEN);
+ Ptr<NdnFibEntry> fibEntry = GetNode ()->GetObject<NdnFib> ()->Add (NdnNameComponents ("/"), m_face, 0);
+ fibEntry->UpdateStatus (m_face, NdnFibFaceMetric::NDN_FIB_GREEN);
Simulator::Schedule (Seconds (0.1), &Client::SendPacket, this, std::string("/1"), 1);
Simulator::Schedule (Seconds (0.2), &Client::SendPacket, this, std::string("/2"), 1);
@@ -50,7 +50,7 @@
void
StopApplication ()
{
- CcnxApp::StopApplication ();
+ NdnApp::StopApplication ();
}
private:
@@ -58,8 +58,8 @@
SendPacket (const std::string &prefix, uint32_t nonce)
{
Ptr<Packet> pkt = Create<Packet> (0);
- CcnxInterestHeader i;
- i.SetName (Create<CcnxNameComponents> (prefix));
+ NdnInterestHeader i;
+ i.SetName (Create<NdnNameComponents> (prefix));
i.SetNonce (nonce);
i.SetInterestLifetime (Seconds (0.5));
@@ -69,38 +69,38 @@
};
void
-PitTest::Test (Ptr<CcnxFib> fib)
+PitTest::Test (Ptr<NdnFib> fib)
{
NS_TEST_ASSERT_MSG_EQ (fib->GetSize (), 1, "There should be only one entry");
- Ptr<const CcnxFibEntry> fibEntry = fib->Begin ();
- NS_TEST_ASSERT_MSG_EQ (fibEntry->GetPrefix (), CcnxNameComponents ("/"), "prefix should be /");
+ Ptr<const NdnFibEntry> fibEntry = fib->Begin ();
+ NS_TEST_ASSERT_MSG_EQ (fibEntry->GetPrefix (), NdnNameComponents ("/"), "prefix should be /");
}
void
-PitTest::Check0 (Ptr<CcnxPit> pit)
+PitTest::Check0 (Ptr<NdnPit> pit)
{
- // NS_LOG_DEBUG (*GetNode ()->GetObject<CcnxPit> ());
+ // NS_LOG_DEBUG (*GetNode ()->GetObject<NdnPit> ());
NS_TEST_ASSERT_MSG_EQ (pit->GetSize (), 0, "There should 0 entries in PIT");
}
void
-PitTest::Check1 (Ptr<CcnxPit> pit)
+PitTest::Check1 (Ptr<NdnPit> pit)
{
NS_TEST_ASSERT_MSG_EQ (pit->GetSize (), 1, "There should 1 entry in PIT");
}
void
-PitTest::Check2 (Ptr<CcnxPit> pit)
+PitTest::Check2 (Ptr<NdnPit> pit)
{
- // NS_LOG_DEBUG (*GetNode ()->GetObject<CcnxPit> ());
+ // NS_LOG_DEBUG (*GetNode ()->GetObject<NdnPit> ());
NS_TEST_ASSERT_MSG_EQ (pit->GetSize (), 2, "There should 2 entries in PIT");
}
void
-PitTest::Check3 (Ptr<CcnxPit> pit)
+PitTest::Check3 (Ptr<NdnPit> pit)
{
- // NS_LOG_DEBUG (*GetNode ()->GetObject<CcnxPit> ());
+ // NS_LOG_DEBUG (*GetNode ()->GetObject<NdnPit> ());
NS_TEST_ASSERT_MSG_EQ (pit->GetSize (), 3, "There should 3 entries in PIT");
}
@@ -109,25 +109,25 @@
PitTest::DoRun ()
{
Ptr<Node> node = CreateObject<Node> ();
- CcnxStackHelper ccnx;
- ccnx.Install (node);
+ NdnStackHelper ndn;
+ ndn.Install (node);
Ptr<Client> app1 = CreateObject<Client> ();
node->AddApplication (app1);
- Simulator::Schedule (Seconds (0.0001), &PitTest::Test, this, node->GetObject<CcnxFib> ());
+ Simulator::Schedule (Seconds (0.0001), &PitTest::Test, this, node->GetObject<NdnFib> ());
- Simulator::Schedule (Seconds (0.01), &PitTest::Check0, this, node->GetObject<CcnxPit> ());
+ Simulator::Schedule (Seconds (0.01), &PitTest::Check0, this, node->GetObject<NdnPit> ());
- Simulator::Schedule (Seconds (0.11), &PitTest::Check1, this, node->GetObject<CcnxPit> ());
- Simulator::Schedule (Seconds (0.21), &PitTest::Check2, this, node->GetObject<CcnxPit> ());
- Simulator::Schedule (Seconds (0.31), &PitTest::Check3, this, node->GetObject<CcnxPit> ());
+ Simulator::Schedule (Seconds (0.11), &PitTest::Check1, this, node->GetObject<NdnPit> ());
+ Simulator::Schedule (Seconds (0.21), &PitTest::Check2, this, node->GetObject<NdnPit> ());
+ Simulator::Schedule (Seconds (0.31), &PitTest::Check3, this, node->GetObject<NdnPit> ());
- Simulator::Schedule (Seconds (0.61), &PitTest::Check3, this, node->GetObject<CcnxPit> ());
- Simulator::Schedule (Seconds (0.71), &PitTest::Check2, this, node->GetObject<CcnxPit> ());
- Simulator::Schedule (Seconds (0.81), &PitTest::Check1, this, node->GetObject<CcnxPit> ());
+ Simulator::Schedule (Seconds (0.61), &PitTest::Check3, this, node->GetObject<NdnPit> ());
+ Simulator::Schedule (Seconds (0.71), &PitTest::Check2, this, node->GetObject<NdnPit> ());
+ Simulator::Schedule (Seconds (0.81), &PitTest::Check1, this, node->GetObject<NdnPit> ());
- Simulator::Schedule (Seconds (0.91), &PitTest::Check0, this, node->GetObject<CcnxPit> ());
+ Simulator::Schedule (Seconds (0.91), &PitTest::Check0, this, node->GetObject<NdnPit> ());
Simulator::Stop (Seconds (1.0));
Simulator::Run ();
diff --git a/test/ndnSIM-pit.h b/test/ndnSIM-pit.h
index 3bc1705..0e5a26e 100644
--- a/test/ndnSIM-pit.h
+++ b/test/ndnSIM-pit.h
@@ -27,8 +27,8 @@
namespace ns3
{
-class CcnxFib;
-class CcnxPit;
+class NdnFib;
+class NdnPit;
class PitTest : public TestCase
{
@@ -41,11 +41,11 @@
private:
virtual void DoRun ();
- void Test (Ptr<CcnxFib> fib);
- void Check0 (Ptr<CcnxPit> pit);
- void Check1 (Ptr<CcnxPit> pit);
- void Check2 (Ptr<CcnxPit> pit);
- void Check3 (Ptr<CcnxPit> pit);
+ void Test (Ptr<NdnFib> fib);
+ void Check0 (Ptr<NdnPit> pit);
+ void Check1 (Ptr<NdnPit> pit);
+ void Check2 (Ptr<NdnPit> pit);
+ void Check3 (Ptr<NdnPit> pit);
};
}
diff --git a/test/ndnSIM-serialization.cc b/test/ndnSIM-serialization.cc
index 6c3d722..244aae8 100644
--- a/test/ndnSIM-serialization.cc
+++ b/test/ndnSIM-serialization.cc
@@ -34,9 +34,9 @@
void
InterestSerializationTest::DoRun ()
{
- CcnxInterestHeader source;
- source.SetName (Create<CcnxNameComponents> (boost::lexical_cast<CcnxNameComponents> ("/test/test2")));
- NS_TEST_ASSERT_MSG_EQ (source.GetName (), boost::lexical_cast<CcnxNameComponents> ("/test/test2"), "set/get name failed");
+ NdnInterestHeader source;
+ source.SetName (Create<NdnNameComponents> (boost::lexical_cast<NdnNameComponents> ("/test/test2")));
+ NS_TEST_ASSERT_MSG_EQ (source.GetName (), boost::lexical_cast<NdnNameComponents> ("/test/test2"), "set/get name failed");
source.SetMinSuffixComponents (20);
NS_TEST_ASSERT_MSG_EQ (source.GetMinSuffixComponents (), 20, "set/get minSuffixComponents failed");
@@ -44,8 +44,8 @@
source.SetMaxSuffixComponents (40);
NS_TEST_ASSERT_MSG_EQ (source.GetMaxSuffixComponents (), 40, "set/get maxSuffixComponents failed");
- source.SetExclude (Create<CcnxNameComponents> (boost::lexical_cast<CcnxNameComponents> ("/exclude/exclude2")));
- NS_TEST_ASSERT_MSG_EQ (source.GetExclude (), boost::lexical_cast<CcnxNameComponents> ("/exclude/exclude2"), "set/get exclude failed");
+ source.SetExclude (Create<NdnNameComponents> (boost::lexical_cast<NdnNameComponents> ("/exclude/exclude2")));
+ NS_TEST_ASSERT_MSG_EQ (source.GetExclude (), boost::lexical_cast<NdnNameComponents> ("/exclude/exclude2"), "set/get exclude failed");
source.SetChildSelector (false);
NS_TEST_ASSERT_MSG_EQ (source.IsEnabledChildSelector (), false, "set/get child selector failed");
@@ -74,7 +74,7 @@
packet.AddHeader (source);
//deserialization
- CcnxInterestHeader target;
+ NdnInterestHeader target;
packet.RemoveHeader (target);
NS_TEST_ASSERT_MSG_EQ (source.GetName () , target.GetName () , "source/target name failed");
diff --git a/test/ndnSIM-stats-tree.cc b/test/ndnSIM-stats-tree.cc
index 58b9c4b..b87dad9 100644
--- a/test/ndnSIM-stats-tree.cc
+++ b/test/ndnSIM-stats-tree.cc
@@ -23,11 +23,11 @@
#include "ns3/point-to-point-module.h"
#include "ns3/ndnSIM-module.h"
#include "../utils/stats-tree.h"
-#include "../apps/ccnx-producer.h"
+#include "../apps/ndn-producer.h"
#include <boost/lexical_cast.hpp>
-NS_LOG_COMPONENT_DEFINE ("CcnxStatsTreeTest");
+NS_LOG_COMPONENT_DEFINE ("NdnStatsTreeTest");
using namespace ndnSIM;
@@ -45,20 +45,20 @@
void
StatsTreeTest::BasicTests ()
{
- CcnxStackHelper ccnx;
+ NdnStackHelper ndn;
Ptr<Node> node1 = CreateObject<Node> ();
- Ptr<CcnxApp> app1 = CreateObject<CcnxProducer> ();
+ Ptr<NdnApp> app1 = CreateObject<NdnProducer> ();
node1->AddApplication (app1);
- ccnx.Install (node1);
+ ndn.Install (node1);
- Ptr<CcnxFace> face1 = CreateObject<CcnxAppFace> (app1);
- Ptr<CcnxFace> face2 = CreateObject<CcnxAppFace> (app1);
- Ptr<CcnxFace> face3 = CreateObject<CcnxAppFace> (app1);
+ Ptr<NdnFace> face1 = CreateObject<NdnAppFace> (app1);
+ Ptr<NdnFace> face2 = CreateObject<NdnAppFace> (app1);
+ Ptr<NdnFace> face3 = CreateObject<NdnAppFace> (app1);
- node1->GetObject<Ccnx> ()->AddFace (face1);
- node1->GetObject<Ccnx> ()->AddFace (face2);
- node1->GetObject<Ccnx> ()->AddFace (face3);
+ node1->GetObject<Ndn> ()->AddFace (face1);
+ node1->GetObject<Ndn> ()->AddFace (face2);
+ node1->GetObject<Ndn> ()->AddFace (face3);
// NS_LOG_DEBUG (*face1 << ", " << *face2 << ", " << *face3);
diff --git a/utils/load-stats-node.cc b/utils/load-stats-node.cc
index 8775a22..9514a84 100644
--- a/utils/load-stats-node.cc
+++ b/utils/load-stats-node.cc
@@ -19,7 +19,7 @@
*/
#include "load-stats-node.h"
-#include "ns3/ccnx-face.h"
+#include "ns3/ndn-face.h"
#include "ns3/log.h"
#include <boost/lambda/lambda.hpp>
#include <boost/lambda/bind.hpp>
@@ -62,13 +62,13 @@
}
void
-LoadStatsNode::AddIncoming (ns3::Ptr<ns3::CcnxFace> face)
+LoadStatsNode::AddIncoming (ns3::Ptr<ns3::NdnFace> face)
{
m_incoming [face].count ()++;
}
void
-LoadStatsNode::AddOutgoing (ns3::Ptr<ns3::CcnxFace> face)
+LoadStatsNode::AddOutgoing (ns3::Ptr<ns3::NdnFace> face)
{
m_outgoing [face].count ()++;
}
@@ -114,14 +114,14 @@
}
void
-LoadStatsNode::Rx (ns3::Ptr<ns3::CcnxFace> face, uint32_t amount)
+LoadStatsNode::Rx (ns3::Ptr<ns3::NdnFace> face, uint32_t amount)
{
m_pit.rx () += amount;
m_incoming [face].rx () += amount;
}
void
-LoadStatsNode::Tx (ns3::Ptr<ns3::CcnxFace> face, uint32_t amount)
+LoadStatsNode::Tx (ns3::Ptr<ns3::NdnFace> face, uint32_t amount)
{
m_pit.tx () += amount;
m_outgoing [face].tx () += amount;
@@ -187,7 +187,7 @@
void
-LoadStatsNode::RemoveFace (ns3::Ptr<ns3::CcnxFace> face)
+LoadStatsNode::RemoveFace (ns3::Ptr<ns3::NdnFace> face)
{
NS_LOG_FUNCTION (this);
m_incoming.erase (face);
diff --git a/utils/load-stats-node.h b/utils/load-stats-node.h
index a4d6d87..b0b580d 100644
--- a/utils/load-stats-node.h
+++ b/utils/load-stats-node.h
@@ -27,7 +27,7 @@
namespace ns3
{
-class CcnxFace;
+class NdnFace;
}
namespace ndnSIM
@@ -38,7 +38,7 @@
class LoadStatsNode
{
public:
- typedef std::map< ns3::Ptr<ns3::CcnxFace>, LoadStatsFace > stats_container;
+ typedef std::map< ns3::Ptr<ns3::NdnFace>, LoadStatsFace > stats_container;
LoadStatsNode () {}
LoadStatsNode (const LoadStatsNode &) {}
@@ -56,13 +56,13 @@
* Increment counter to incoming list
*/
void
- AddIncoming (ns3::Ptr<ns3::CcnxFace> face);
+ AddIncoming (ns3::Ptr<ns3::NdnFace> face);
/**
* Increment counter to outgoing list
*/
void
- AddOutgoing (ns3::Ptr<ns3::CcnxFace> face);
+ AddOutgoing (ns3::Ptr<ns3::NdnFace> face);
/**
* Increment counter to both incoming and outgoing lists, for all faces
@@ -80,13 +80,13 @@
* Increment counter for Tx amount
*/
void
- Rx (ns3::Ptr<ns3::CcnxFace> face, uint32_t amount);
+ Rx (ns3::Ptr<ns3::NdnFace> face, uint32_t amount);
/**
* Increment counter for Tx amount
*/
void
- Tx (ns3::Ptr<ns3::CcnxFace> face, uint32_t amount);
+ Tx (ns3::Ptr<ns3::NdnFace> face, uint32_t amount);
LoadStatsNode &
operator += (const LoadStatsNode &stats);
@@ -120,7 +120,7 @@
}
void
- RemoveFace (ns3::Ptr<ns3::CcnxFace> face);
+ RemoveFace (ns3::Ptr<ns3::NdnFace> face);
private:
LoadStatsFace m_pit;
diff --git a/utils/stats-tree.cc b/utils/stats-tree.cc
index d83b881..7a7116c 100644
--- a/utils/stats-tree.cc
+++ b/utils/stats-tree.cc
@@ -19,7 +19,7 @@
*/
#include "stats-tree.h"
-#include "ns3/ccnx-face.h"
+#include "ns3/ndn-face.h"
#include "ns3/log.h"
using namespace ns3;
@@ -48,7 +48,7 @@
}
void
-StatsTree::NewPitEntry (const ns3::CcnxNameComponents &key)
+StatsTree::NewPitEntry (const ns3::NdnNameComponents &key)
{
std::pair<tree_type::iterator, bool> item = m_tree.insert (key, LoadStatsNode ());
@@ -56,7 +56,7 @@
}
void
-StatsTree::Incoming (const CcnxNameComponents &key, Ptr<CcnxFace> face)
+StatsTree::Incoming (const NdnNameComponents &key, Ptr<NdnFace> face)
{
std::pair<tree_type::iterator, bool> item = m_tree.insert (key, LoadStatsNode ());
@@ -64,7 +64,7 @@
}
void
-StatsTree::Outgoing (const CcnxNameComponents &key, Ptr<CcnxFace> face)
+StatsTree::Outgoing (const NdnNameComponents &key, Ptr<NdnFace> face)
{
std::pair<tree_type::iterator, bool> item = m_tree.insert (key, LoadStatsNode ());
@@ -72,7 +72,7 @@
}
void
-StatsTree::Satisfy (const CcnxNameComponents &key)
+StatsTree::Satisfy (const NdnNameComponents &key)
{
std::pair<tree_type::iterator, bool> item = m_tree.insert (key, LoadStatsNode ());
@@ -80,7 +80,7 @@
}
void
-StatsTree::Timeout (const CcnxNameComponents &key)
+StatsTree::Timeout (const NdnNameComponents &key)
{
std::pair<tree_type::iterator, bool> item = m_tree.insert (key, LoadStatsNode ());
@@ -88,7 +88,7 @@
}
void
-StatsTree::Rx (const ns3::CcnxNameComponents &key, ns3::Ptr<ns3::CcnxFace> face, uint32_t amount)
+StatsTree::Rx (const ns3::NdnNameComponents &key, ns3::Ptr<ns3::NdnFace> face, uint32_t amount)
{
std::pair<tree_type::iterator, bool> item = m_tree.insert (key, LoadStatsNode ());
@@ -96,7 +96,7 @@
}
void
-StatsTree::Tx (const ns3::CcnxNameComponents &key, ns3::Ptr<ns3::CcnxFace> face, uint32_t amount)
+StatsTree::Tx (const ns3::NdnNameComponents &key, ns3::Ptr<ns3::NdnFace> face, uint32_t amount)
{
std::pair<tree_type::iterator, bool> item = m_tree.insert (key, LoadStatsNode ());
@@ -104,9 +104,9 @@
}
// const LoadStatsNode &
-// StatsTree::Get (const ns3::CcnxNameComponents &key) const
+// StatsTree::Get (const ns3::NdnNameComponents &key) const
const LoadStatsNode &
-StatsTree::operator [] (const ns3::CcnxNameComponents &key) const
+StatsTree::operator [] (const ns3::NdnNameComponents &key) const
{
tree_type::iterator foundItem, lastItem;
bool reachLast;
@@ -138,7 +138,7 @@
}
void
-StatsTree::RemoveFace (ns3::Ptr<ns3::CcnxFace> face)
+StatsTree::RemoveFace (ns3::Ptr<ns3::NdnFace> face)
{
tree_type::recursive_iterator item (&m_tree), end;
for (; item != end; item ++)
diff --git a/utils/stats-tree.h b/utils/stats-tree.h
index 1bb128b..c6bf97a 100644
--- a/utils/stats-tree.h
+++ b/utils/stats-tree.h
@@ -23,7 +23,7 @@
#include "trie.h"
#include "load-stats-node.h"
-#include "ns3/ccnx-name-components.h"
+#include "ns3/ndn-name-components.h"
#include "ns3/ptr.h"
namespace ndnSIM
@@ -32,7 +32,7 @@
class StatsTree
{
public:
- typedef trie< ns3::CcnxNameComponents,
+ typedef trie< ns3::NdnNameComponents,
non_pointer_traits< LoadStatsNode >, void* > tree_type;
StatsTree ();
@@ -41,33 +41,33 @@
Step ();
void
- NewPitEntry (const ns3::CcnxNameComponents &key);
+ NewPitEntry (const ns3::NdnNameComponents &key);
void
- Incoming (const ns3::CcnxNameComponents &key, ns3::Ptr<ns3::CcnxFace> face);
+ Incoming (const ns3::NdnNameComponents &key, ns3::Ptr<ns3::NdnFace> face);
void
- Outgoing (const ns3::CcnxNameComponents &key, ns3::Ptr<ns3::CcnxFace> face);
+ Outgoing (const ns3::NdnNameComponents &key, ns3::Ptr<ns3::NdnFace> face);
void
- Satisfy (const ns3::CcnxNameComponents &key);
+ Satisfy (const ns3::NdnNameComponents &key);
void
- Timeout (const ns3::CcnxNameComponents &key);
+ Timeout (const ns3::NdnNameComponents &key);
void
- Rx (const ns3::CcnxNameComponents &key, ns3::Ptr<ns3::CcnxFace> face, uint32_t amount);
+ Rx (const ns3::NdnNameComponents &key, ns3::Ptr<ns3::NdnFace> face, uint32_t amount);
void
- Tx (const ns3::CcnxNameComponents &key, ns3::Ptr<ns3::CcnxFace> face, uint32_t amount);
+ Tx (const ns3::NdnNameComponents &key, ns3::Ptr<ns3::NdnFace> face, uint32_t amount);
// const LoadStatsNode &
- // Get (const ns3::CcnxNameComponents &key) const;
+ // Get (const ns3::NdnNameComponents &key) const;
const LoadStatsNode &
- operator [] (const ns3::CcnxNameComponents &key) const;
+ operator [] (const ns3::NdnNameComponents &key) const;
void
- RemoveFace (ns3::Ptr<ns3::CcnxFace> face);
+ RemoveFace (ns3::Ptr<ns3::NdnFace> face);
private:
const LoadStatsNode &
diff --git a/wscript b/wscript
index a0238ba..70cb770 100644
--- a/wscript
+++ b/wscript
@@ -63,30 +63,30 @@
])
headers.source = [
- "helper/ccnx-stack-helper.h",
- "helper/ccnx-app-helper.h",
- "helper/ccnx-header-helper.h",
- "helper/ccnx-face-container.h",
- "helper/ccnx-global-routing-helper.h",
+ "helper/ndn-stack-helper.h",
+ "helper/ndn-app-helper.h",
+ "helper/ndn-header-helper.h",
+ "helper/ndn-face-container.h",
+ "helper/ndn-global-routing-helper.h",
- "apps/ccnx-app.h",
+ "apps/ndn-app.h",
- "model/ccnx.h",
- "model/pit/ccnx-pit.h",
- "model/pit/ccnx-pit-entry.h",
- "model/pit/ccnx-pit-entry-incoming-face.h",
- "model/pit/ccnx-pit-entry-outgoing-face.h",
- "model/content-store/ccnx-content-store.h",
- "model/fib/ccnx-fib.h",
- "model/fib/ccnx-fib-entry.h",
- "model/forwarding-strategy/ccnx-forwarding-strategy.h",
- "model/ccnx-face.h",
- "model/ccnx-app-face.h",
- "model/ccnx-net-device-face.h",
- "model/ccnx-interest-header.h",
- "model/ccnx-content-object-header.h",
- "model/ccnx-name-components.h",
- # "model/ccnx-name-components-hash-helper.h",
+ "model/ndn.h",
+ "model/pit/ndn-pit.h",
+ "model/pit/ndn-pit-entry.h",
+ "model/pit/ndn-pit-entry-incoming-face.h",
+ "model/pit/ndn-pit-entry-outgoing-face.h",
+ "model/content-store/ndn-content-store.h",
+ "model/fib/ndn-fib.h",
+ "model/fib/ndn-fib-entry.h",
+ "model/forwarding-strategy/ndn-forwarding-strategy.h",
+ "model/ndn-face.h",
+ "model/ndn-app-face.h",
+ "model/ndn-net-device-face.h",
+ "model/ndn-interest-header.h",
+ "model/ndn-content-object-header.h",
+ "model/ndn-name-components.h",
+ # "model/ndn-name-components-hash-helper.h",
"utils/batches.h",
# "utils/weights-path-stretch-tag.h",