<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Hi,<div class=""><br class=""></div><div class="">to further forward an Interest take a look here:</div><div class=""><br class=""></div><div class=""><a href="https://github.com/named-data-ndnSIM/ndnSIM/blob/master/apps/ndn-consumer.cpp#L201-L202" class="">https://github.com/named-data-ndnSIM/ndnSIM/blob/master/apps/ndn-consumer.cpp#L201-L202</a></div><div class=""><br class=""></div><div class="">Thanks,</div><div class=""><br class=""><div class="">
<div class=""><div class=""><div class=""><span class="" style="float: none; display: inline !important;">Spyridon (Spyros) Mastorakis</span><br class=""><span class="" style="float: none; display: inline !important;">Personal Website: </span><a href="http://cs.ucla.edu/~mastorakis/" class="">http://cs.ucla.edu/~mastorakis/</a><br class=""><span class="" style="float: none; display: inline !important;">Internet Research Laboratory</span><br class=""><span class="" style="float: none; display: inline !important;">Computer Science Department</span><br class=""><span class="" style="float: none; display: inline !important;">UCLA</span></div><div class=""><br class=""></div></div></div></div><div><blockquote type="cite" class=""><div class="">On Oct 18, 2018, at 7:45 AM, Kamrul Morshed <<a href="mailto:shohanmk@yahoo.com" class="">shohanmk@yahoo.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class=""><div style="background-color: rgb(255, 255, 255); font-family: 'times new roman', 'new york', times, serif; font-size: 16px;" class=""><div id="yui_3_16_0_ym19_1_1539872881009_3417" class="">Hello Spyridon,</div><div id="yui_3_16_0_ym19_1_1539872881009_3417" class=""><br class=""></div><div id="yui_3_16_0_ym19_1_1539872881009_3417" class="">Thank You very much for your advice. </div><div id="yui_3_16_0_ym19_1_1539872881009_3417" class=""><br class=""></div><div id="yui_3_16_0_ym19_1_1539872881009_3417" class="">I have looked upon both Consumer and Producer App. I have used some functionalities from Producer App and therefore I was able to request the Interest from the Consumer App. However, I have been also through Consumer App but I am confused about the specific functionalities that will help me to forward these interests to the next intermediate node. <br class=""></div><div id="yui_3_16_0_ym19_1_1539872881009_3417" class=""><br class=""></div><div id="yui_3_16_0_ym19_1_1539872881009_3417" class="">I would like to find a way to forward these Interests to the next intermediate node, for example, it can be the Producer or the next Node. </div><div id="yui_3_16_0_ym19_1_1539872881009_3417" class=""><br class=""></div><div id="yui_3_16_0_ym19_1_1539872881009_3417" class="">Would love to hear from you. </div><div id="yui_3_16_0_ym19_1_1539872881009_3417" class=""><br class=""></div><div id="yui_3_16_0_ym19_1_1539872881009_3417" class="">I am sharing the code for my Forwarder App:</div><div id="yui_3_16_0_ym19_1_1539872881009_3417" class=""><br class=""></div><div id="yui_3_16_0_ym19_1_1539872881009_3741" class="">#include "ForwarderApp.h"</div><div id="yui_3_16_0_ym19_1_1539872881009_3742" class=""><br id="yui_3_16_0_ym19_1_1539872881009_3743" class=""></div><div id="yui_3_16_0_ym19_1_1539872881009_3744" class="">#include "ns3/ptr.h"</div><div id="yui_3_16_0_ym19_1_1539872881009_3745" class="">#include "ns3/log.h"</div><div id="yui_3_16_0_ym19_1_1539872881009_3746" class="">#include "ns3/simulator.h"</div><div id="yui_3_16_0_ym19_1_1539872881009_3747" class="">#include "ns3/packet.h"</div><div id="yui_3_16_0_ym19_1_1539872881009_3748" class="">#include "ns3/callback.h"</div><div id="yui_3_16_0_ym19_1_1539872881009_3749" class="">#include "ns3/string.h"</div><div id="yui_3_16_0_ym19_1_1539872881009_3750" class="">#include "ns3/boolean.h"</div><div id="yui_3_16_0_ym19_1_1539872881009_3751" class="">#include "ns3/uinteger.h"</div><div id="yui_3_16_0_ym19_1_1539872881009_3752" class="">#include "ns3/integer.h"</div><div id="yui_3_16_0_ym19_1_1539872881009_3753" class="">#include "ns3/double.h"</div><div id="yui_3_16_0_ym19_1_1539872881009_3754" class=""><br id="yui_3_16_0_ym19_1_1539872881009_3755" class=""></div><div id="yui_3_16_0_ym19_1_1539872881009_3756" class="">#include "ns3/ndnSIM/helper/ndn-stack-helper.hpp"</div><div id="yui_3_16_0_ym19_1_1539872881009_3757" class="">#include "ns3/ndnSIM/helper/ndn-fib-helper.hpp"</div><div id="yui_3_16_0_ym19_1_1539872881009_3758" class="">#include "ns3/ndnSIM/model/ndn-common.hpp"</div><div id="yui_3_16_0_ym19_1_1539872881009_3759" class=""><br id="yui_3_16_0_ym19_1_1539872881009_3760" class=""></div><div id="yui_3_16_0_ym19_1_1539872881009_3761" class=""><br id="yui_3_16_0_ym19_1_1539872881009_3762" class=""></div><div id="yui_3_16_0_ym19_1_1539872881009_3763" class="">#include "ns3/random-variable-stream.h"</div><div id="yui_3_16_0_ym19_1_1539872881009_3764" class=""><br id="yui_3_16_0_ym19_1_1539872881009_3765" class=""></div><div id="yui_3_16_0_ym19_1_1539872881009_3766" class=""><br id="yui_3_16_0_ym19_1_1539872881009_3767" class=""></div><div id="yui_3_16_0_ym19_1_1539872881009_3768" class="">NS_LOG_COMPONENT_DEFINE("ForwarderApp");</div><div id="yui_3_16_0_ym19_1_1539872881009_3769" class=""><br id="yui_3_16_0_ym19_1_1539872881009_3770" class=""></div><div id="yui_3_16_0_ym19_1_1539872881009_3771" class="">namespace ns3 {</div><div id="yui_3_16_0_ym19_1_1539872881009_3772" class="">namespace ndn {</div><div id="yui_3_16_0_ym19_1_1539872881009_3773" class=""><br id="yui_3_16_0_ym19_1_1539872881009_3774" class=""></div><div id="yui_3_16_0_ym19_1_1539872881009_3775" class="">// Necessary if you are planning to use ndn::AppHelper</div><div id="yui_3_16_0_ym19_1_1539872881009_3776" class="">NS_OBJECT_ENSURE_REGISTERED(ForwarderApp);</div><div id="yui_3_16_0_ym19_1_1539872881009_3777" class=""><br id="yui_3_16_0_ym19_1_1539872881009_3778" class=""></div><div id="yui_3_16_0_ym19_1_1539872881009_3779" class="">TypeId</div><div id="yui_3_16_0_ym19_1_1539872881009_3780" class="">ForwarderApp::GetTypeId()</div><div id="yui_3_16_0_ym19_1_1539872881009_3781" class="">{</div><div id="yui_3_16_0_ym19_1_1539872881009_3782" class="">  static TypeId tid = TypeId("ForwarderApp")</div><div id="yui_3_16_0_ym19_1_1539872881009_3783" class="">  .SetGroupName("Ndn")</div><div id="yui_3_16_0_ym19_1_1539872881009_3784" class="">  .SetParent<ndn::App>()</div><div id="yui_3_16_0_ym19_1_1539872881009_3785" class="">  .AddConstructor<ForwarderApp>()</div><div id="yui_3_16_0_ym19_1_1539872881009_3786" class="">  .AddAttribute("Prefix", "Prefix, for which producer has the data", StringValue("/"),</div><div id="yui_3_16_0_ym19_1_1539872881009_3787" class="">                MakeNameAccessor(&ForwarderApp::m_prefix), MakeNameChecker());</div><div id="yui_3_16_0_ym19_1_1539872881009_3788" class="">  return tid;</div><div id="yui_3_16_0_ym19_1_1539872881009_3789" class="">}</div><div id="yui_3_16_0_ym19_1_1539872881009_3790" class=""><br id="yui_3_16_0_ym19_1_1539872881009_3791" class=""></div><div id="yui_3_16_0_ym19_1_1539872881009_3792" class="">ForwarderApp::ForwarderApp()</div><div id="yui_3_16_0_ym19_1_1539872881009_3793" class="">{</div><div id="yui_3_16_0_ym19_1_1539872881009_3794" class="">}</div><div id="yui_3_16_0_ym19_1_1539872881009_3795" class=""><br id="yui_3_16_0_ym19_1_1539872881009_3796" class=""></div><div id="yui_3_16_0_ym19_1_1539872881009_3797" class="">void</div><div id="yui_3_16_0_ym19_1_1539872881009_3798" class="">ForwarderApp::StartApplication()</div><div id="yui_3_16_0_ym19_1_1539872881009_3799" class="">{</div><div id="yui_3_16_0_ym19_1_1539872881009_3800" class="">  NS_LOG_FUNCTION_NOARGS();</div><div id="yui_3_16_0_ym19_1_1539872881009_3801" class=""><br id="yui_3_16_0_ym19_1_1539872881009_3802" class=""></div><div id="yui_3_16_0_ym19_1_1539872881009_3803" class="">  App::StartApplication();</div><div id="yui_3_16_0_ym19_1_1539872881009_3804" class=""><br id="yui_3_16_0_ym19_1_1539872881009_3805" class=""></div><div id="yui_3_16_0_ym19_1_1539872881009_3806" class="">  // equivalent to setting interest filter for "/prefix" prefix</div><div id="yui_3_16_0_ym19_1_1539872881009_3807" class="">  ndn::FibHelper::AddRoute(GetNode(), "/prefix/world/", m_face, 0);</div><div id="yui_3_16_0_ym19_1_1539872881009_3808" class=""><br id="yui_3_16_0_ym19_1_1539872881009_3809" class=""></div><div id="yui_3_16_0_ym19_1_1539872881009_3810" class="">}</div><div id="yui_3_16_0_ym19_1_1539872881009_3811" class=""><br id="yui_3_16_0_ym19_1_1539872881009_3812" class=""></div><div id="yui_3_16_0_ym19_1_1539872881009_3813" class="">void</div><div id="yui_3_16_0_ym19_1_1539872881009_3814" class="">ForwarderApp::StopApplication()</div><div id="yui_3_16_0_ym19_1_1539872881009_3815" class="">{</div><div id="yui_3_16_0_ym19_1_1539872881009_3816" class="">  NS_LOG_FUNCTION_NOARGS();</div><div id="yui_3_16_0_ym19_1_1539872881009_3817" class=""><br id="yui_3_16_0_ym19_1_1539872881009_3818" class=""></div><div id="yui_3_16_0_ym19_1_1539872881009_3819" class="">  App::StopApplication();</div><div id="yui_3_16_0_ym19_1_1539872881009_3820" class="">}</div><div id="yui_3_16_0_ym19_1_1539872881009_3821" class=""><br id="yui_3_16_0_ym19_1_1539872881009_3822" class=""></div><div id="yui_3_16_0_ym19_1_1539872881009_3823" class="">void</div><div id="yui_3_16_0_ym19_1_1539872881009_3824" class="">ForwarderApp::OnInterest(std::shared_ptr<const ndn::Interest> interest)</div><div id="yui_3_16_0_ym19_1_1539872881009_3825" class="">{</div><div id="yui_3_16_0_ym19_1_1539872881009_3826" class="">  ndn::App::OnInterest(interest); // forward call to perform app-level tracing</div><div id="yui_3_16_0_ym19_1_1539872881009_3827" class="">  // do nothing else (receive interest from consumer)</div><div id="yui_3_16_0_ym19_1_1539872881009_3828" class="">  NS_LOG_DEBUG("Requesting Interest from Consumer" << interest->getName());  </div><div id="yui_3_16_0_ym19_1_1539872881009_3829" class="">}</div><div id="yui_3_16_0_ym19_1_1539872881009_3830" class=""><br id="yui_3_16_0_ym19_1_1539872881009_3831" class=""></div><div id="yui_3_16_0_ym19_1_1539872881009_3832" class=""><br id="yui_3_16_0_ym19_1_1539872881009_3833" class=""></div><div id="yui_3_16_0_ym19_1_1539872881009_3834" class="">} //namespace ndn</div><div id="yui_3_16_0_ym19_1_1539872881009_3835" class="">} // namespace ns3</div><div dir="ltr" id="yui_3_16_0_ym19_1_1539872881009_3836" class=""><br id="yui_3_16_0_ym19_1_1539872881009_3837" class=""></div><div id="yui_3_16_0_ym19_1_1539872881009_3417" class="">The output partially looks like this:</div><div id="yui_3_16_0_ym19_1_1539872881009_3417" class=""><br class=""></div><div id="yui_3_16_0_ym19_1_1539872881009_4029" class="">0.000000000s 4 ForwarderApp:StartApplication()</div><div id="yui_3_16_0_ym19_1_1539872881009_4030" class="">+0.010039199s 4 ForwarderApp:OnInterest(): [DEBUG] Requesting Interest from Consumer/prefix/world/%FE%00</div><div id="yui_3_16_0_ym19_1_1539872881009_4031" class="">+1.010039199s 4 ForwarderApp:OnInterest(): [DEBUG] Requesting Interest from Consumer/prefix/world/%FE%01</div><div id="yui_3_16_0_ym19_1_1539872881009_4032" class="">+2.010039199s 4 ForwarderApp:OnInterest(): [DEBUG] Requesting Interest from Consumer/prefix/world/%FE%00</div><div id="yui_3_16_0_ym19_1_1539872881009_4033" class="">+3.010039199s 4 ForwarderApp:OnInterest(): [DEBUG] Requesting Interest from Consumer/prefix/world/%FE%02</div><div id="yui_3_16_0_ym19_1_1539872881009_4034" class="">+4.010039199s 4 ForwarderApp:OnInterest(): [DEBUG] Requesting Interest from Consumer/prefix/world/%FE%01</div><div id="yui_3_16_0_ym19_1_1539872881009_4035" class="">+5.010039199s 4 ForwarderApp:OnInterest(): [DEBUG] Requesting Interest from Consumer/prefix/world/%FE%03</div><div id="yui_3_16_0_ym19_1_1539872881009_4036" class="">+6.010039199s 4 ForwarderApp:OnInterest(): [DEBUG] Requesting Interest from Consumer/prefix/world/%FE%04</div><div id="yui_3_16_0_ym19_1_1539872881009_4037" class="">+7.010039199s 4 ForwarderApp:OnInterest(): [DEBUG] Requesting Interest from Consumer/prefix/world/%FE%00</div><div id="yui_3_16_0_ym19_1_1539872881009_4038" class="">+8.010039199s 4 ForwarderApp:OnInterest(): [DEBUG] Requesting Interest from Consumer/prefix/world/%FE%05</div><div id="yui_3_16_0_ym19_1_1539872881009_4039" class="">+9.010039199s 4 ForwarderApp:OnInterest(): [DEBUG] Requesting Interest from Consumer/prefix/world/%FE%06</div><div id="yui_3_16_0_ym19_1_1539872881009_4040" class="">+10.010039199s 4 ForwarderApp:OnInterest(): [DEBUG] Requesting Interest from Consumer/prefix/world/%FE%07</div><div id="yui_3_16_0_ym19_1_1539872881009_4041" class="">+11.010039199s 4 ForwarderApp:OnInterest(): [DEBUG] Requesting Interest from Consumer/prefix/world/%FE%08</div><div id="yui_3_16_0_ym19_1_1539872881009_4042" class="">+12.010039199s 4 ForwarderApp:OnInterest(): [DEBUG] Requesting Interest from Consumer/prefix/world/%FE%02</div><div dir="ltr" id="yui_3_16_0_ym19_1_1539872881009_4043" class="">+13.010039199s 4 ForwarderApp:OnInterest(): [DEBUG] Requesting Interest from Consumer/prefix/world/%FE%09</div><div id="yui_3_16_0_ym19_1_1539872881009_3417" class=""><br class=""></div><div class=""></div><div id="yui_3_16_0_ym19_1_1539872881009_3418" class=""> </div><div class="signature" id="yui_3_16_0_ym19_1_1539872881009_3419">Kamrul Morshed<div id="yui_3_16_0_ym19_1_1539872881009_3420" class="">MS Student</div><div id="yui_3_16_0_ym19_1_1539872881009_3421" class=""><br class=""></div></div></div></div></div></blockquote></div><br class=""></div></body></html>