[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