[ndnSIM] question for PIT

Alex Afanasyev alexander.afanasyev at ucla.edu
Thu Feb 7 08:51:28 PST 2013


Hi

It would help if you can send also header for your ndn-ca.  I suspect there some missing forward declarations of your Entry class (as you're including ndn-ca inside ndn-ca-entry).  

---
Alex

On Feb 7, 2013, at 1:14 AM, "独善其身 " <aaronishere at qq.com> wrote:

> Hi, Alex 
> I want to imitate the PIT to establish a new table called ca. I just copy the PIT and rename as the ca.  And under the file ca, I replaced the keyword Pit/pit as Ca/ca , Interest/interest as Cah/cah. I also add the ndn-cah.cc and ndn-cah.h under the model and corresponding header files in the wscript. However when I compiled, it errors like bellow.
> 
> In file included from ./ns3/ndn-ca-entry.h:28:0,
>                  from ./ns3/ndnSIM-module.h:16,
>                  from ../src/ndnSIM/examples/ndn-tree-app-delay-tracer.cc:25:
> ./ns3/ndn-ca.h:77:15: error: ‘Entry’ is not a member of ‘ns3::ndn::ca’
> ./ns3/ndn-ca.h:77:15: error: ‘Entry’ is not a member of ‘ns3::ndn::ca’
> ./ns3/ndn-ca.h:77:24: error: template argument 1 is invalid
> ./ns3/ndn-ca.h:86:15: error: ‘Entry’ is not a member of ‘ns3::ndn::ca’
> ./ns3/ndn-ca.h:86:15: error: ‘Entry’ is not a member of ‘ns3::ndn::ca’
> ./ns3/ndn-ca.h:86:24: error: template argument 1 is invalid
> ./ns3/ndn-ca.h:97:15: error: ‘Entry’ is not a member of ‘ns3::ndn::ca’
> ./ns3/ndn-ca.h:97:15: error: ‘Entry’ is not a member of ‘ns3::ndn::ca’
> ./ns3/ndn-ca.h:97:24: error: template argument 1 is invalid
> ./ns3/ndn-ca.h:108:19: error: ‘Entry’ is not a member of ‘ns3::ndn::ca’
> ./ns3/ndn-ca.h:108:19: error: ‘Entry’ is not a member of ‘ns3::ndn::ca’
> ./ns3/ndn-ca.h:108:28: error: template argument 1 is invalid
> ./ns3/ndn-ca.h:127:15: error: ‘Entry’ is not a member of ‘ns3::ndn::ca’
> ./ns3/ndn-ca.h:127:15: error: ‘Entry’ is not a member of ‘ns3::ndn::ca’
> ./ns3/ndn-ca.h:127:24: error: template argument 1 is invalid
> ./ns3/ndn-ca.h:133:15: error: ‘Entry’ is not a member of ‘ns3::ndn::ca’
> ./ns3/ndn-ca.h:133:15: error: ‘Entry’ is not a member of ‘ns3::ndn::ca’
> ./ns3/ndn-ca.h:133:24: error: template argument 1 is invalid
> ./ns3/ndn-ca.h:139:15: error: ‘Entry’ is not a member of ‘ns3::ndn::ca’
> ./ns3/ndn-ca.h:139:15: error: ‘Entry’ is not a member of ‘ns3::ndn::ca’
> ./ns3/ndn-ca.h:139:24: error: template argument 1 is invalid
> ./ns3/ndn-ca.h:140:13: error: ‘Entry’ is not a member of ‘ns3::ndn::ca’
> ./ns3/ndn-ca.h:140:13: error: ‘Entry’ is not a member of ‘ns3::ndn::ca’
> ./ns3/ndn-ca.h:140:22: error: template argument 1 is invalid
> 
> here is the ndn-ca-entry.h, the Entry is included in ns3::ndn::ca. I'm not sure why?
> #ifndef _NDN_CA_ENTRY_H_
> #define _NDN_CA_ENTRY_H_
> #include "ns3/ptr.h"
> #include "ns3/simple-ref-count.h"
> #include "ns3/ndn-fib.h"
> #include "ns3/ndn-ca.h"//////////////////
> #include "ns3/ndn-name-components.h"//////////////////
> #include "ns3/ndn-ca-entry-incoming-face.h"
> #include "ns3/ndn-ca-entry-outgoing-face.h"
> ........
> namespace ns3 {
> namespace ndn {
> class Ca;
> namespace fw { class Tag; }
> namespace ca {
> class i_face {};
> class i_retx {};
> class Entry : public SimpleRefCount<Entry>
> {
> public:
>   typedef std::set< IncomingFace > in_container; ///< @brief incoming faces container type
>   typedef in_container::iterator in_iterator;                ///< @brief iterator to incoming faces
>   typedef std::set< OutgoingFace > 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
>   ............................
> }
> Thanks for help!




More information about the ndnSIM mailing list