[ndnSIM] Adding another "Name" type of field in Interest packet

Spyridon (Spyros) Mastorakis mastorakis at cs.ucla.edu
Sat May 26 12:23:51 PDT 2018


there are 2 different things: design and simulation code.

We have built the simulator as a tool for the community to experiment with NDN, and we should make their life easier instead of more complicated. Therefore, in my humble opinion, it is fine if someone wants to reduce the coding complexity (not all the users are equally comfortable with software development), and create a more “hacky” implementation to make things work and do some preliminary evaluation. ndnSIM is a research tool, and serves the purpose of enabling people to experiment fast with different design alternatives.

@Mudasir, I have implemented some wire encoding/decoding for a more complex data structure than the vector of names that you need. Please take a look here:


Look for the EncodeContent and DecodeIBFAndComputeRearestPiece methods.


Spyridon (Spyros) Mastorakis
Personal Website: http://cs.ucla.edu/~mastorakis/
Internet Research Laboratory
Computer Science Department

> On May 26, 2018, at 11:56 AM, Junxiao Shi <shijunxiao at email.arizona.edu> wrote:
> Hi Mudasir
> I have tried adding another "Name" type of field in Interest packet.
> What's the semantics of this new field?
> It's usually a wrong design if you need a secondary name.
> * To guide forwarding: use ForwardingHint field.
> * To give additional parameters to the producer: append those parameters to the name. In case producer must return a Data generated by some other node, encapsulate that Data into a new Data that matches the Interest.
> * To indicate who expressed the Interest: you shouldn't indicate who expressed the Interest, unless it changes the Data. In that case, see the second point.
> in wireDecode method:
> m_Name2.wireDecode(m_wire.get(tlv::Name2));
> Error:
> When I'm running scenario, its builds successfully. But after linking files and before launching the simulator it gives following error:
> terminate called after throwing an instance of 'boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<ndn::Block::Error> >'
>   what():  (Block::get) Requested a non-existed type [10] from Block
> This error message indicates Nonce element (TLV-TYPE 0x0A ie decimal 10) is missing.
> Yours, Junxiao

More information about the ndnSIM mailing list