[ndnSIM] Question for GetName( ) in *-policy.h

Alex Afanasyev alexander.afanasyev at ucla.edu
Thu Nov 14 07:47:43 PST 2013


Hi Aaron,

Among all the garbage, there is actually a real error message:

policy.h:108:1: error: ‘class ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::lfu_policy_traits> >’ has no member named ‘GetName’

Just replace GetName() to GetPrefix() and it should work.

Regarding the second question.  It is not quite easy to implement feature to return back name of the evicted content in contentStore->Add().  But you still have access to this information within the policy.  The "erase" event will be fired every time the item is removed/evicted.  Would that be sufficient?

---
Alex

On Nov 14, 2013, at 6:51 AM, aaronishere <aaronishere at qq.com> wrote:

> Hi, Alex
>  
> I have typed
> std::cout<<"Node#"<<Simulator::GetContext ()<<"-insert-"<<item->payload ()->GetName ()<<std::endl;  in the *-policy.h to see which content is eviced by the replacement policy,
> however, different from the old version, the new shows errors bellow. How to show the content name in the *-policy.h.
>  
> Another question is that is it possible to send the content name back with return value(bool) to m_contentstore->Add( )?
> In fact, m_contentstore->Add( ) is only for adding the content while the replacement policy evicts the correpoding content. I hope the content name could be back so that the cache policy that I defined in the fowarding strategy knows the exact evicted name and makes decision.
>  
> Thanks! 
>  
> In file included from ../src/ndnSIM/model/pit/ndn-pit-impl.cc:27:0:
> ../src/ndnSIM/model/pit/../../utils/trie/lfu-policy.h: In member function ‘bool ns3::ndn::ndnSIM::lfu_policy_traits::policy<Base, Container, Hook>::type::insert(typename ns3::ndn::ndnSIM::lfu_policy_traits::policy<Base, Container, Hook>::type::parent_trie::iterator) [with Base = ns3::ndn::ndnSIM::trie_with_policy<ns3::ndn::Name, ns3::ndn::ndnSIM::smart_pointer_payload_traits<ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::lfu_policy_traits> >, ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::lfu_policy_traits> > >, ns3::ndn::ndnSIM::lfu_policy_traits>, Container = ns3::ndn::ndnSIM::trie<ns3::ndn::Name, ns3::ndn::ndnSIM::smart_pointer_payload_traits<ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::lfu_policy_traits> >, ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::lfu_policy_traits> > >, ns3::ndn::ndnSIM::lfu_policy_traits::policy_hook_type>, Hook = boost::intrusive::member_hook<ns3::ndn::ndnSIM::trie<ns3::ndn::Name, ns3::ndn::ndnSIM::smart_pointer_payload_traits<ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::lfu_policy_traits> >, ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::lfu_policy_traits> > >, ns3::ndn::ndnSIM::lfu_policy_traits::policy_hook_type>, ns3::ndn::ndnSIM::lfu_policy_traits::policy_hook_type, &ns3::ndn::ndnSIM::trie<ns3::ndn::Name, ns3::ndn::ndnSIM::smart_pointer_payload_traits<ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::lfu_policy_traits> >, ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::lfu_policy_traits> > >, ns3::ndn::ndnSIM::lfu_policy_traits::policy_hook_type>::policy_hook_>, typename ns3::ndn::ndnSIM::lfu_policy_traits::policy<Base, Container, Hook>::type::parent_trie::iterator = ns3::ndn::ndnSIM::trie<ns3::ndn::Name, ns3::ndn::ndnSIM::smart_pointer_payload_traits<ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::lfu_policy_traits> >, ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::lfu_policy_traits> > >, ns3::ndn::ndnSIM::lfu_policy_traits::policy_hook_type>*]’:
> ../src/ndnSIM/model/pit/../../utils/trie/trie-with-policy.h:64:61:   instantiated from ‘std::pair<typename ns3::ndn::ndnSIM::trie<FullKey, PayloadTraits, typename PolicyTraits::policy_hook_type>::iterator, bool> ns3::ndn::ndnSIM::trie_with_policy<FullKey, PayloadTraits, PolicyTraits>::insert(const FullKey&, typename PayloadTraits::insert_type) [with FullKey = ns3::ndn::Name, PayloadTraits = ns3::ndn::ndnSIM::smart_pointer_payload_traits<ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::lfu_policy_traits> >, ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::lfu_policy_traits> > >, PolicyTraits = ns3::ndn::ndnSIM::lfu_policy_traits, typename ns3::ndn::ndnSIM::trie<FullKey, PayloadTraits, typename PolicyTraits::policy_hook_type>::iterator = ns3::ndn::ndnSIM::trie<ns3::ndn::Name, ns3::ndn::ndnSIM::smart_pointer_payload_traits<ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::lfu_policy_traits> >, ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::lfu_policy_traits> > >, ns3::ndn::ndnSIM::lfu_policy_traits::policy_hook_type>*, typename PayloadTraits::insert_type = ns3::Ptr<ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::lfu_policy_traits> > >]’
> ../src/ndnSIM/model/pit/ndn-pit-impl.h:359:99:   instantiated from ‘ns3::Ptr<ns3::ndn::pit::Entry> ns3::ndn::pit::PitImpl<Policy>::Create(ns3::Ptr<const ns3::ndn::Interest>) [with Policy = ns3::ndn::ndnSIM::lfu_policy_traits]’
> ../src/ndnSIM/model/pit/ndn-pit-impl.cc:79:16:   instantiated from here
> ../src/ndnSIM/model/pit/../../utils/trie/lfu-policy.h:108:1: error: ‘class ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::lfu_policy_traits> >’ has no member named ‘GetName’
> ../src/ndnSIM/model/pit/../../utils/trie/lfu-policy.h: In member function ‘bool ns3::ndn::ndnSIM::lfu_policy_traits::policy<Base, Container, Hook>::type::insert(typename ns3::ndn::ndnSIM::lfu_policy_traits::policy<Base, Container, Hook>::type::parent_trie::iterator) [with Base = ns3::ndn::ndnSIM::trie_with_policy<ns3::ndn::Name, ns3::ndn::ndnSIM::smart_pointer_payload_traits<ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> > > >, ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> > > > >, ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> > >, Container = ns3::ndn::ndnSIM::trie<ns3::ndn::Name, ns3::ndn::ndnSIM::smart_pointer_payload_traits<ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> > > >, ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> > > > >, ns3::ndn::ndnSIM::detail::multi_type_container<boost::mpl::v_item<ns3::ndn::ndnSIM::aggregate_stats_policy_traits::policy_hook_type, boost::mpl::v_item<ns3::ndn::ndnSIM::lfu_policy_traits::policy_hook_type, boost::mpl::vector0<mpl_::na>, 0>, 0> > >, Hook = boost::intrusive::function_hook<ns3::ndn::ndnSIM::detail::FunctorHook<ns3::ndn::ndnSIM::detail::multi_type_container<boost::mpl::v_item<ns3::ndn::ndnSIM::aggregate_stats_policy_traits::policy_hook_type, boost::mpl::v_item<ns3::ndn::ndnSIM::lfu_policy_traits::policy_hook_type, boost::mpl::vector0<mpl_::na>, 0>, 0> >, ns3::ndn::ndnSIM::trie<ns3::ndn::Name, ns3::ndn::ndnSIM::smart_pointer_payload_traits<ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> > > >, ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> > > > >, ns3::ndn::ndnSIM::detail::multi_type_container<boost::mpl::v_item<ns3::ndn::ndnSIM::aggregate_stats_policy_traits::policy_hook_type, boost::mpl::v_item<ns3::ndn::ndnSIM::lfu_policy_traits::policy_hook_type, boost::mpl::vector0<mpl_::na>, 0>, 0> > >, 0> >, typename ns3::ndn::ndnSIM::lfu_policy_traits::policy<Base, Container, Hook>::type::parent_trie::iterator = ns3::ndn::ndnSIM::trie<ns3::ndn::Name, ns3::ndn::ndnSIM::smart_pointer_payload_traits<ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> > > >, ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> > > > >, ns3::ndn::ndnSIM::detail::multi_type_container<boost::mpl::v_item<ns3::ndn::ndnSIM::aggregate_stats_policy_traits::policy_hook_type, boost::mpl::v_item<ns3::ndn::ndnSIM::lfu_policy_traits::policy_hook_type, boost::mpl::vector0<mpl_::na>, 0>, 0> > >*]’:
> ../src/ndnSIM/model/pit/../../utils/trie/detail/multi-policy-container.h:54:41:   instantiated from ‘bool ns3::ndn::ndnSIM::detail::inherit_with_base<Base, Super, Value>::insert(typename Base::iterator) [with Base = ns3::ndn::ndnSIM::trie_with_policy<ns3::ndn::Name, ns3::ndn::ndnSIM::smart_pointer_payload_traits<ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> > > >, ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> > > > >, ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> > >, Super = ns3::ndn::ndnSIM::detail::empty_policy_wrap<ns3::ndn::ndnSIM::trie_with_policy<ns3::ndn::Name, ns3::ndn::ndnSIM::smart_pointer_payload_traits<ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> > > >, ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> > > > >, ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> > > >, Value = ns3::ndn::ndnSIM::detail::policy_wrap<ns3::ndn::ndnSIM::trie_with_policy<ns3::ndn::Name, ns3::ndn::ndnSIM::smart_pointer_payload_traits<ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> > > >, ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> > > > >, ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> > >, ns3::ndn::ndnSIM::lfu_policy_traits::policy<ns3::ndn::ndnSIM::trie_with_policy<ns3::ndn::Name, ns3::ndn::ndnSIM::smart_pointer_payload_traits<ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> > > >, ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> > > > >, ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> > >, ns3::ndn::ndnSIM::trie<ns3::ndn::Name, ns3::ndn::ndnSIM::smart_pointer_payload_traits<ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> > > >, ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> > > > >, ns3::ndn::ndnSIM::detail::multi_type_container<boost::mpl::v_item<ns3::ndn::ndnSIM::aggregate_stats_policy_traits::policy_hook_type, boost::mpl::v_item<ns3::ndn::ndnSIM::lfu_policy_traits::policy_hook_type, boost::mpl::vector0<mpl_::na>, 0>, 0> > >, boost::intrusive::function_hook<ns3::ndn::ndnSIM::detail::FunctorHook<ns3::ndn::ndnSIM::detail::multi_type_container<boost::mpl::v_item<ns3::ndn::ndnSIM::aggregate_stats_policy_traits::policy_hook_type, boost::mpl::v_item<ns3::ndn::ndnSIM::lfu_policy_traits::policy_hook_type, boost::mpl::vector0<mpl_::na>, 0>, 0> >, ns3::ndn::ndnSIM::trie<ns3::ndn::Name, ns3::ndn::ndnSIM::smart_pointer_payload_traits<ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> > > >, ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> > > > >, ns3::ndn::ndnSIM::detail::multi_type_container<boost::mpl::v_item<ns3::ndn::ndnSIM::aggregate_stats_policy_traits::policy_hook_type, boost::mpl::v_item<ns3::ndn::ndnSIM::lfu_policy_traits::policy_hook_type, boost::mpl::vector0<mpl_::na>, 0>, 0> > >, 0> > >::type>, typename Base::iterator = ns3::ndn::ndnSIM::trie<ns3::ndn::Name, ns3::ndn::ndnSIM::smart_pointer_payload_traits<ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> > > >, ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> > > > >, ns3::ndn::ndnSIM::detail::multi_type_container<boost::mpl::v_item<ns3::ndn::ndnSIM::aggregate_stats_policy_traits::policy_hook_type, boost::mpl::v_item<ns3::ndn::ndnSIM::lfu_policy_traits::policy_hook_type, boost::mpl::vector0<mpl_::na>, 0>, 0> > >*]’
> ../src/ndnSIM/model/pit/../../utils/trie/detail/multi-policy-container.h:58:5:   instantiated from ‘bool ns3::ndn::ndnSIM::detail::inherit_with_base<Base, Super, Value>::insert(typename Base::iterator) [with Base = ns3::ndn::ndnSIM::trie_with_policy<ns3::ndn::Name, ns3::ndn::ndnSIM::smart_pointer_payload_traits<ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> > > >, ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> > > > >, ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> > >, Super = ns3::ndn::ndnSIM::detail::inherit_with_base<ns3::ndn::ndnSIM::trie_with_policy<ns3::ndn::Name, ns3::ndn::ndnSIM::smart_pointer_payload_traits<ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> > > >, ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> > > > >, ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> > >, ns3::ndn::ndnSIM::detail::empty_policy_wrap<ns3::ndn::ndnSIM::trie_with_policy<ns3::ndn::Name, ns3::ndn::ndnSIM::smart_pointer_payload_traits<ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> > > >, ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> > > > >, ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> > > >, ns3::ndn::ndnSIM::detail::policy_wrap<ns3::ndn::ndnSIM::trie_with_policy<ns3::ndn::Name, ns3::ndn::ndnSIM::smart_pointer_payload_traits<ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> > > >, ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> > > > >, ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> > >, ns3::ndn::ndnSIM::lfu_policy_traits::policy<ns3::ndn::ndnSIM::trie_with_policy<ns3::ndn::Name, ns3::ndn::ndnSIM::smart_pointer_payload_traits<ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> > > >, ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> > > > >, ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> > >, ns3::ndn::ndnSIM::trie<ns3::ndn::Name, ns3::ndn::ndnSIM::smart_pointer_payload_traits<ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> > > >, ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> > > > >, ns3::ndn::ndnSIM::detail::multi_type_container<boost::mpl::v_item<ns3::ndn::ndnSIM::aggregate_stats_policy_traits::policy_hook_type, boost::mpl::v_item<ns3::ndn::ndnSIM::lfu_policy_traits::policy_hook_type, boost::mpl::vector0<mpl_::na>, 0>, 0> > >, boost::intrusive::function_hook<ns3::ndn::ndnSIM::detail::FunctorHook<ns3::ndn::ndnSIM::detail::multi_type_container<boost::mpl::v_item<ns3::ndn::ndnSIM::aggregate_stats_policy_traits::policy_hook_type, boost::mpl::v_item<ns3::ndn::ndnSIM::lfu_policy_traits::policy_hook_type, boost::mpl::vector0<mpl_::na>, 0>, 0> >, ns3::ndn::ndnSIM::trie<ns3::ndn::Name, ns3::ndn::ndnSIM::smart_pointer_payload_traits<ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> > > >, ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> > > > >, ns3::ndn::ndnSIM::detail::multi_type_container<boost::mpl::v_item<ns3::ndn::ndnSIM::aggregate_stats_policy_traits::policy_hook_type, boost::mpl::v_item<ns3::ndn::ndnSIM::lfu_policy_traits::policy_hook_type, boost::mpl::vector0<mpl_::na>, 0>, 0> > >, 0> > >::type> >, Value = ns3::ndn::ndnSIM::detail::policy_wrap<ns3::ndn::ndnSIM::trie_with_policy<ns3::ndn::Name, ns3::ndn::ndnSIM::smart_pointer_payload_traits<ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> > > >, ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> > > > >, ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> > >, ns3::ndn::ndnSIM::aggregate_stats_policy_traits::policy<ns3::ndn::ndnSIM::trie_with_policy<ns3::ndn::Name, ns3::ndn::ndnSIM::smart_pointer_payload_traits<ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> > > >, ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> > > > >, ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> > >, ns3::ndn::ndnSIM::trie<ns3::ndn::Name, ns3::ndn::ndnSIM::smart_pointer_payload_traits<ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> > > >, ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> > > > >, ns3::ndn::ndnSIM::detail::multi_type_container<boost::mpl::v_item<ns3::ndn::ndnSIM::aggregate_stats_policy_traits::policy_hook_type, boost::mpl::v_item<ns3::ndn::ndnSIM::lfu_policy_traits::policy_hook_type, boost::mpl::vector0<mpl_::na>, 0>, 0> > >, boost::intrusive::function_hook<ns3::ndn::ndnSIM::detail::FunctorHook<ns3::ndn::ndnSIM::detail::multi_type_container<boost::mpl::v_item<ns3::ndn::ndnSIM::aggregate_stats_policy_traits::policy_hook_type, boost::mpl::v_item<ns3::ndn::ndnSIM::lfu_policy_traits::policy_hook_type, boost::mpl::vector0<mpl_::na>, 0>, 0> >, ns3::ndn::ndnSIM::trie<ns3::ndn::Name, ns3::ndn::ndnSIM::smart_pointer_payload_traits<ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> > > >, ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> > > > >, ns3::ndn::ndnSIM::detail::multi_type_container<boost::mpl::v_item<ns3::ndn::ndnSIM::aggregate_stats_policy_traits::policy_hook_type, boost::mpl::v_item<ns3::ndn::ndnSIM::lfu_policy_traits::policy_hook_type, boost::mpl::vector0<mpl_::na>, 0>, 0> > >, 1> > >::type>, typename Base::iterator = ns3::ndn::ndnSIM::trie<ns3::ndn::Name, ns3::ndn::ndnSIM::smart_pointer_payload_traits<ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> > > >, ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> > > > >, ns3::ndn::ndnSIM::detail::multi_type_container<boost::mpl::v_item<ns3::ndn::ndnSIM::aggregate_stats_policy_traits::policy_hook_type, boost::mpl::v_item<ns3::ndn::ndnSIM::lfu_policy_traits::policy_hook_type, boost::mpl::vector0<mpl_::na>, 0>, 0> > >*]’
> ../src/ndnSIM/model/pit/../../utils/trie/multi-policy.h:107:46:   instantiated from ‘bool ns3::ndn::ndnSIM::multi_policy_traits<Policies>::policy<Base, Container, Hook>::type::insert(typename ns3::ndn::ndnSIM::multi_policy_traits<Policies>::policy<Base, Container, Hook>::type::parent_trie::iterator) [with Base = ns3::ndn::ndnSIM::trie_with_policy<ns3::ndn::Name, ns3::ndn::ndnSIM::smart_pointer_payload_traits<ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> > > >, ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> > > > >, ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> > >, Container = ns3::ndn::ndnSIM::trie<ns3::ndn::Name, ns3::ndn::ndnSIM::smart_pointer_payload_traits<ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> > > >, ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> > > > >, ns3::ndn::ndnSIM::detail::multi_type_container<boost::mpl::v_item<ns3::ndn::ndnSIM::aggregate_stats_policy_traits::policy_hook_type, boost::mpl::v_item<ns3::ndn::ndnSIM::lfu_policy_traits::policy_hook_type, boost::mpl::vector0<mpl_::na>, 0>, 0> > >, Hook = ns3::ndn::ndnSIM::detail::multi_type_container<boost::mpl::v_item<ns3::ndn::ndnSIM::aggregate_stats_policy_traits::policy_hook_type, boost::mpl::v_item<ns3::ndn::ndnSIM::lfu_policy_traits::policy_hook_type, boost::mpl::vector0<mpl_::na>, 0>, 0> >, Policies = boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits>, typename ns3::ndn::ndnSIM::multi_policy_traits<Policies>::policy<Base, Container, Hook>::type::parent_trie::iterator = ns3::ndn::ndnSIM::trie<ns3::ndn::Name, ns3::ndn::ndnSIM::smart_pointer_payload_traits<ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> > > >, ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> > > > >, ns3::ndn::ndnSIM::detail::multi_type_container<boost::mpl::v_item<ns3::ndn::ndnSIM::aggregate_stats_policy_traits::policy_hook_type, boost::mpl::v_item<ns3::ndn::ndnSIM::lfu_policy_traits::policy_hook_type, boost::mpl::vector0<mpl_::na>, 0>, 0> > >*]’
> ../src/ndnSIM/model/pit/../../utils/trie/trie-with-policy.h:64:61:   instantiated from ‘std::pair<typename ns3::ndn::ndnSIM::trie<FullKey, PayloadTraits, typename PolicyTraits::policy_hook_type>::iterator, bool> ns3::ndn::ndnSIM::trie_with_policy<FullKey, PayloadTraits, PolicyTraits>::insert(const FullKey&, typename PayloadTraits::insert_type) [with FullKey = ns3::ndn::Name, PayloadTraits = ns3::ndn::ndnSIM::smart_pointer_payload_traits<ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> > > >, ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> > > > >, PolicyTraits = ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> >, typename ns3::ndn::ndnSIM::trie<FullKey, PayloadTraits, typename PolicyTraits::policy_hook_type>::iterator = ns3::ndn::ndnSIM::trie<ns3::ndn::Name, ns3::ndn::ndnSIM::smart_pointer_payload_traits<ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> > > >, ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> > > > >, ns3::ndn::ndnSIM::detail::multi_type_container<boost::mpl::v_item<ns3::ndn::ndnSIM::aggregate_stats_policy_traits::policy_hook_type, boost::mpl::v_item<ns3::ndn::ndnSIM::lfu_policy_traits::policy_hook_type, boost::mpl::vector0<mpl_::na>, 0>, 0> > >*, typename PayloadTraits::insert_type = ns3::Ptr<ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> > > > >]’
> ../src/ndnSIM/model/pit/ndn-pit-impl.h:359:99:   instantiated from ‘ns3::Ptr<ns3::ndn::pit::Entry> ns3::ndn::pit::PitImpl<Policy>::Create(ns3::Ptr<const ns3::ndn::Interest>) [with Policy = ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> >]’
> ../src/ndnSIM/model/pit/ndn-pit-impl.cc:109:16:   instantiated from here
> ../src/ndnSIM/model/pit/../../utils/trie/lfu-policy.h:108:1: error: ‘class ns3::ndn::pit::EntryImpl<ns3::ndn::pit::PitImpl<ns3::ndn::ndnSIM::multi_policy_traits<boost::mpl::vector2<ns3::ndn::ndnSIM::lfu_policy_traits, ns3::ndn::ndnSIM::aggregate_stats_policy_traits> > > >’ has no member named ‘GetName’
>  
> Aaron

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.lists.cs.ucla.edu/pipermail/ndnsim/attachments/20131114/fb1bad41/attachment.html>


More information about the ndnSIM mailing list