ndnSIM-v2: Initial implementation
- Name, name::Components, Interest, Data now use ndn-cxx
- Ptr is replaced with shared_ptr for ndn-cxx structures
Credits for the change also to Mickey Sweat, Wentao Shang, and Alex Afanasyev
diff --git a/apps/ndn-app.hpp b/apps/ndn-app.hpp
index edede34..f0ac19b 100644
--- a/apps/ndn-app.hpp
+++ b/apps/ndn-app.hpp
@@ -21,6 +21,9 @@
#ifndef NDN_APP_H
#define NDN_APP_H
+#include "ns3/ndnSIM/model/ndn-common.hpp"
+#include "ns3/ndnSIM/model/ndn-app-face.hpp"
+
#include "ns3/application.h"
#include "ns3/ptr.h"
#include "ns3/callback.h"
@@ -32,11 +35,6 @@
namespace ndn {
-class Interest;
-class Data;
-
-class Face;
-
/**
* \ingroup ndn
* \defgroup ndn-apps NDN applications
@@ -72,14 +70,7 @@
* may be useful to get packet tags
*/
virtual void
- OnInterest(Ptr<const Interest> interest);
-
- /**
- * @brief Method that will be called every time new NACK arrives
- * @param interest Interest header
- */
- virtual void
- OnNack(Ptr<const Interest> interest);
+ OnInterest(shared_ptr<const Interest> interest);
/**
* @brief Method that will be called every time new Data arrives
@@ -88,7 +79,7 @@
* original packet)
*/
virtual void
- OnData(Ptr<const Data> contentObject);
+ OnData(shared_ptr<const Data> data);
protected:
/**
@@ -110,19 +101,16 @@
Ptr<Face> m_face; ///< @brief automatically created application face through which application
/// communicates
- TracedCallback<Ptr<const Interest>, Ptr<App>, Ptr<Face>>
+ TracedCallback<shared_ptr<const Interest>, Ptr<App>, Ptr<Face>>
m_receivedInterests; ///< @brief App-level trace of received Interests
- TracedCallback<Ptr<const Interest>, Ptr<App>, Ptr<Face>>
- m_receivedNacks; ///< @brief App-level trace of received NACKs
+ TracedCallbackshared_ptr<const Data>, Ptr<App>,
+ Ptr<Face>> m_receivedDatas; ///< @brief App-level trace of received Data
- TracedCallback<Ptr<const Data>, Ptr<App>, Ptr<Face>>
- m_receivedDatas; ///< @brief App-level trace of received Data
-
- TracedCallback<Ptr<const Interest>, Ptr<App>, Ptr<Face>>
+ TracedCallback<shared_ptr<const Interest>, Ptr<App>, Ptr<Face>>
m_transmittedInterests; ///< @brief App-level trace of transmitted Interests
- TracedCallback<Ptr<const Data>, Ptr<App>, Ptr<Face>>
+ TracedCallback<shared_ptr<const Data>, Ptr<App>, Ptr<Face>>
m_transmittedDatas; ///< @brief App-level trace of transmitted Data
};