<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div class="">Hello,</div><div class=""><br class=""></div><div class="">You can build and reinstall ndnSIM as you first install it.</div><div class="">“./waf” will compile all parts, including NFD and ndn-cxx inside ndnSIM. No additional work.</div><div class=""><br class=""></div><div class="">Best,</div><div class="">Xinyu Ma.<br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On Nov 25, 2018, at 1:44 AM, Ashish Pradhan <<a href="mailto:ashishpradhan1162@gmail.com" class="">ashishpradhan1162@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class=""><div class="gmail-iv gmail-gt gmail-gE"><table class="gmail-gJ gmail-cf" cellpadding="0"><tbody class=""><tr class="gmail-acZ gmail-xD"><td colspan="3" class=""><table class="gmail-adz gmail-cf" cellpadding="0"><tbody class=""><tr class=""><td class="gmail-ady"><div class="gmail-ajy" tabindex="0"><img class="gmail-ajz" id="gmail-:142" src="https://mail.google.com/mail/u/0/images/cleardot.gif" alt=""></div></td></tr></tbody></table></td></tr></tbody></table></div><div class="gmail-"><div id="gmail-:13q" class="gmail-gt gmail-ii gmail-adO"><div id="gmail-:13p" class="gmail-a3s gmail-aXjCH" tabindex="-1"><div dir="ltr" class="">I
 have made the necessary changes. I have a small problem now. I have a 
separate working repository where I have the custom apps,custom 
strategies and and my scenarios. When I make the changes in the 
Strategy.cpp, it doesn't seem to reflect in my simulations(however, it does in reflect in the scenarios of  examples folder inside the ndnSIM ). I am not 
sure how to build those files(the files within NFD, ndn.cxx etc )  for 
them to work with my separate repository.<br class=""></div></div></div></div><div class=""><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr" class=""><div class=""><div dir="ltr" class=""><div dir="ltr" class=""><div dir="ltr" class=""><span style="font-size:12.8px" class=""></span><div style="font-size:12.8px" class=""><br class=""></div></div></div></div></div></div></div></div><br class=""></div><br class=""><div class="gmail_quote"><div dir="ltr" class="">On Sun, Nov 25, 2018 at 6:42 PM Ashish Pradhan <<a href="mailto:ashishpradhan1162@gmail.com" class="">ashishpradhan1162@gmail.com</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="">I have made the necessary changes. I have a small problem now. I have a separate working repository where I have the custom apps,custom strategies and and my scenarios. When I make the changes in the Strategy.cpp, it doesn't seem to reflect in my simulations. I am not sure how to build those files(the files within NFD, ndn.cxx etc )  for them to work with<br clear="all" class=""><div class=""><div class=""><div dir="ltr" class="m_7783578267177383622m_-3406909350313487452m_-1853277791065626510gmail_signature" data-smartmail="gmail_signature"><div dir="ltr" class=""><div class=""><div dir="ltr" class=""><div dir="ltr" class=""><div dir="ltr" class=""><span style="font-size:12.8px" class=""></span><div style="font-size:12.8px" class=""><br class=""></div></div></div></div></div></div></div></div><br class=""></div></div><br class=""><div class="gmail_quote"><div dir="ltr" class="">On Sun, Nov 25, 2018 at 2:06 PM Teng Liang <<a href="mailto:philoliang@email.arizona.edu" target="_blank" class="">philoliang@email.arizona.edu</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div text="#000000" bgcolor="#FFFFFF" class=""><p class="">Hi Ashish,</p><p class="">To keep it simple, one PIT entry represents a pending Interest,
      which guides Data forwarding. One router may receive Interests
      with the same name from multiple different downstreams. On
      receiving the Data that can satisfy these Interests, the router is
      able to multicast the Data to all the downstreams sending the
      Interests. PIT entry's in-record represents the face to
      downstream, and each in-record has an expiry timer (=Interest
      lifetime). PIT entry itself has a different expiry timer that is
      refreshed by the latest PIT in-record expiry timer (code:
<a class="m_7783578267177383622m_-3406909350313487452m_-1853277791065626510m_-5859213652122608154moz-txt-link-freetext" href="https://github.com/named-data/NFD/blob/master/daemon/fw/forwarder.cpp#L181-L184" target="_blank">https://github.com/named-data/NFD/blob/master/daemon/fw/forwarder.cpp#L181-L184</a>)<br class="">
    </p>
    Chapter 3.4 in NFD developer guide explains more details about PIT
(<a class="m_7783578267177383622m_-3406909350313487452m_-1853277791065626510m_-5859213652122608154moz-txt-link-freetext" href="https://named-data.net/wp-content/uploads/2016/10/ndn-0021-7-nfd-developer-guide.pdf" target="_blank">https://named-data.net/wp-content/uploads/2016/10/ndn-0021-7-nfd-developer-guide.pdf</a>).
    <br class=""><p class="">For you scenario, one hack that may work is to remove the expiry
      timer check on pit in-record check
(<a class="m_7783578267177383622m_-3406909350313487452m_-1853277791065626510m_-5859213652122608154moz-txt-link-freetext" href="https://github.com/named-data/NFD/blob/master/daemon/fw/strategy.cpp#L216" target="_blank">https://github.com/named-data/NFD/blob/master/daemon/fw/strategy.cpp#L216</a>)
      instead of step 2 in my previous email.</p><p class="">Teng<br class="">
    </p>
    <div class="m_7783578267177383622m_-3406909350313487452m_-1853277791065626510m_-5859213652122608154moz-cite-prefix">On 11/24/18 8:36 PM, Ashish Pradhan
      wrote:<br class="">
    </div>
    <blockquote type="cite" class="">
      
      <div dir="ltr" class="">
        <div class="">Hi Teng, <br class="">
        </div>
        <div class=""><br class="">
        </div>
        <div class="">Thank you so much for understanding my problem. I will try
          to implement it as you said. In the mean time can you please
          explain the difference between "setting expiry timer of the
          pit entry" and  "setting expiry timer of the pit entry's in
          record"</div>
        <div class=""><br class="">
        </div>
        <div class="">Best Regards,</div>
        <div class="">Ashish Pradhan<br class="">
        </div>
        <div class="">
          <div class="">
            <div dir="ltr" class="m_7783578267177383622m_-3406909350313487452m_-1853277791065626510m_-5859213652122608154gmail_signature" data-smartmail="gmail_signature">
              <div dir="ltr" class="">
                <div class="">
                  <div dir="ltr" class="">
                    <div dir="ltr" class="">
                      <div dir="ltr" class=""><span style="font-size:12.8px" class=""></span>
                        <div style="font-size:12.8px" class=""><br class="">
                        </div>
                      </div>
                    </div>
                  </div>
                </div>
              </div>
            </div>
          </div>
          <br class="">
        </div>
      </div>
      <br class="">
      <div class="gmail_quote">
        <div dir="ltr" class="">On Sun, Nov 25, 2018 at 12:08 PM Teng Liang <<a href="mailto:philoliang@email.arizona.edu" target="_blank" class="">philoliang@email.arizona.edu</a>>
          wrote:<br class="">
        </div>
        <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
          <div text="#000000" bgcolor="#FFFFFF" class=""><p class="">Hi Ashish,</p><p class="">I agree with you that simply extending PIT entry lifetime
              (using setExpiryTimer) will not work for
              "One-Interest-Many-Data" in NFD, because when you invoke
              Strategy::sendDataToAll for the second (or latter) Data,
              the PIT entry's in-record is already deleted. You could
              try these changes:</p>
            <ol class="">
              <li class="">Avoid deleting PIT entry's in-record after forwarding
                data by <br class="">
              </li>
              <ul class="">
                <li class="">commenting out this line:
                  <a class="m_7783578267177383622m_-3406909350313487452m_-1853277791065626510m_-5859213652122608154m_-4141238230755131816moz-txt-link-freetext" href="https://github.com/named-data/NFD/blob/master/daemon/fw/strategy.cpp#L203" target="_blank">https://github.com/named-data/NFD/blob/master/daemon/fw/strategy.cpp#L203</a></li>
              </ul>
              <li class="">Extending PIT entry's in-record lifetime by</li>
              <ul class="">
                <li class="">adding an update function with the parameter time
                  duration in pit::FaceRecord (the base class of
                  pit::InRecord)</li>
                <li class="">setting pit entry's in-record lifetime when setting
                  pit entry's lifetime (invoking the previous added
                  function within Forwarder::setExpiryTimer:
                  <a class="m_7783578267177383622m_-3406909350313487452m_-1853277791065626510m_-5859213652122608154m_-4141238230755131816moz-txt-link-freetext" href="https://github.com/named-data/NFD/blob/master/daemon/fw/forwarder.cpp#L516" target="_blank">https://github.com/named-data/NFD/blob/master/daemon/fw/forwarder.cpp#L516</a>)</li>
              </ul>
              <li class="">Deleting PIT entry's in-records in
                Forwarder::onInterestFinalize (this could be optional)</li>
            </ol>
            Thanks,<br class="">
            Teng
            <p class=""><br class="">
            </p>
            <div class="m_7783578267177383622m_-3406909350313487452m_-1853277791065626510m_-5859213652122608154m_-4141238230755131816moz-cite-prefix">On
              11/24/18 5:08 PM, Ashish Pradhan wrote:<br class="">
            </div>
            <blockquote type="cite" class="">
              <div dir="ltr" class="">
                <div dir="ltr" class="">
                  <div dir="ltr" class="">Hi Xinyu,
                    <div class=""><br class="">
                    </div>
                    <div class="">Thank you for your reply.</div>
                    <div class=""><br class="">
                    </div>
                    <div class="">I am fully aware of the One-Interest-One-Data
                      behavior. However, I have a custom app(a producer)
                      where it produces multiple data for a single
                      interest. Then I want all the produced data to
                      reach the consumer. So for that, I am implementing
                      a custom strategy where the PIT entry lifetime of
                      the nodes are extended after it receives the first
                      data from the producer. I have followed the ndnSIM
                      API documentation for it. </div>
                    <div class=""><br class="">
                    </div>
                    <div class="">beforeSatisfyInterest documentation:</div>
                    <div class=""><a href="http://ndnsim.net/current/doxygen/classnfd_1_1fw_1_1Strategy.html#a97b4f1e5496c4dd08cc17b5d3d265f08" target="_blank" class="">http://ndnsim.net/current/doxygen/classnfd_1_1fw_1_1Strategy.html#a97b4f1e5496c4dd08cc17b5d3d265f08</a><br class="">
                    </div>
                    <div class=""><br class="">
                    </div>
                    <div class="">setExpiryTimer documentation:<br class="">
                    </div>
                    <div class=""><a href="http://ndnsim.net/current/doxygen/classnfd_1_1fw_1_1Strategy.html#a967ad88184231f79b245ce202e9d4ea7" target="_blank" class="">http://ndnsim.net/current/doxygen/classnfd_1_1fw_1_1Strategy.html#a967ad88184231f79b245ce202e9d4ea7</a><br class="">
                    </div>
                    <div class=""><br class="">
                    </div>
                    <div class="">
                      <div class="">
                        <div dir="ltr" class="m_7783578267177383622m_-3406909350313487452m_-1853277791065626510m_-5859213652122608154m_-4141238230755131816gmail_signature">
                          <div dir="ltr" class="">
                            <div dir="ltr" class="">
                              <div dir="ltr" class="">
                                <div dir="ltr" class="">Best regards,</div>
                                <div dir="ltr" class="">Ashish Pradhan<br class="">
                                  <div style="font-size:12.8px" class="">
                                    <div style="font-size:12.8px" class=""><br class="">
                                    </div>
                                  </div>
                                </div>
                              </div>
                            </div>
                          </div>
                        </div>
                      </div>
                      <br class="">
                    </div>
                  </div>
                </div>
                <br class="">
                <div class="gmail_quote">
                  <div dir="ltr" class="">On Sun, Nov 25, 2018 at 2:21 AM Xinyu
                    Ma <<a href="mailto:bitmxy@gmail.com" target="_blank" class="">bitmxy@gmail.com</a>>
                    wrote:<br class="">
                  </div>
                  <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
                    <div style="word-wrap:break-word;line-break:after-white-space" class="">Hello,
                      Pradhan
                      <div class=""><br class="">
                      </div>
                      <div class="">I’m sorry I don’t understand why you want to
                        extend the PIT entry’s lifetime and what you
                        mean by “data response other than the first
                        one”.</div>
                      <div class="">NDN follows One-Interest-One-Data, so the PIT
                        entry should be deleted after receiving the
                        data.</div>
                      <div class="">You can send another Interest if you still
                        want the PIT entry to be there.</div>
                      <div class=""><br class="">
                      </div>
                      <div class="">Best,</div>
                      <div class="">Xinyu Ma.</div>
                      <div class="">
                        <div class=""><br class="">
                          <blockquote type="cite" class="">
                            <div class="">On Nov 24, 2018, at 6:20 AM, Ashish
                              Pradhan <<a href="mailto:ashishpradhan1162@gmail.com" target="_blank" class="">ashishpradhan1162@gmail.com</a>>
                              wrote:</div>
                            <br class="m_7783578267177383622m_-3406909350313487452m_-1853277791065626510m_-5859213652122608154m_-4141238230755131816m_-7572912407932601274Apple-interchange-newline">
                            <div class="">
                              <div dir="ltr" class="">
                                <div dir="ltr" class="">
                                  <div dir="ltr" class="">
                                    <div class="">Hi all,</div>
                                    <div class=""><br class="">
                                    </div>
                                    <div class="">I am trying to use the
                                      setExpiryTimer to extend the PIT
                                      entry's lifetime. However the data
                                      response other than the first one
                                      is not being forwarded back to the
                                      consumer. I have included the
                                      setExpiryTimer in the
                                      beforeSatisfyInterest function as
                                      follows:</div>
                                    <div class="">"NFD_LOG_DEBUG("beforeSatisfyInterest
                                      pitEntry=" <<
                                      pitEntry->getName() <<<br class="">
                                                      " inFace="
                                      << inFace.getId() << "
                                      data=" << data.getName());<br class="">
                                      <br class="">
                                       
                                      this->Strategy::setExpiryTimer(pitEntry,
                                      ndn::time::milliseconds(100));"</div>
                                    <div class=""><br class="">
                                    </div>
                                    <div class="">Is there any thing that needs
                                      to be added?<br class="">
                                    </div>
                                    <div class=""><br class="">
                                    </div>
                                    <div class="">After looking at the sendData
                                      function there is this line
                                      "pitEntry->deleteInRecord(outFace);".
                                      If it is deleting the inRecord how
                                      does the setExpiryTimer help to
                                      preserve the entry?</div>
                                    <div class=""><br class="">
                                    </div>
                                    <div class="">Best regards,</div>
                                    <div class="">Ashish Pradhan<br class="">
                                    </div>
                                    <div class="">
                                      <div class="">
                                        <div dir="ltr" class="m_7783578267177383622m_-3406909350313487452m_-1853277791065626510m_-5859213652122608154m_-4141238230755131816m_-7572912407932601274gmail_signature">
                                          <div dir="ltr" class="">
                                            <div class="">
                                              <div dir="ltr" class="">
                                                <div dir="ltr" class="">
                                                  <div dir="ltr" class=""><span style="font-size:12.8px" class=""></span>
                                                    <div style="font-size:12.8px" class=""><br class="">
                                                    </div>
                                                  </div>
                                                </div>
                                              </div>
                                            </div>
                                          </div>
                                        </div>
                                      </div>
                                    </div>
                                  </div>
                                </div>
                              </div>
_______________________________________________<br class="">
                              ndnSIM mailing list<br class="">
                              <a href="mailto:ndnSIM@lists.cs.ucla.edu" target="_blank" class="">ndnSIM@lists.cs.ucla.edu</a><br class="">
                              <a href="http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim" target="_blank" class="">http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim</a><br class="">
                            </div>
                          </blockquote>
                        </div>
                        <br class="">
                      </div>
                    </div>
                  </blockquote>
                </div>
              </div>
              <br class="">
              <fieldset class="m_7783578267177383622m_-3406909350313487452m_-1853277791065626510m_-5859213652122608154m_-4141238230755131816mimeAttachmentHeader"></fieldset>
              <pre class="m_7783578267177383622m_-3406909350313487452m_-1853277791065626510m_-5859213652122608154m_-4141238230755131816moz-quote-pre">_______________________________________________
ndnSIM mailing list
<a class="m_7783578267177383622m_-3406909350313487452m_-1853277791065626510m_-5859213652122608154m_-4141238230755131816moz-txt-link-abbreviated" href="mailto:ndnSIM@lists.cs.ucla.edu" target="_blank">ndnSIM@lists.cs.ucla.edu</a>
<a class="m_7783578267177383622m_-3406909350313487452m_-1853277791065626510m_-5859213652122608154m_-4141238230755131816moz-txt-link-freetext" href="http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim" target="_blank">http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim</a>
</pre>
            </blockquote>
          </div>
        </blockquote>
      </div>
    </blockquote>
  </div>

</blockquote></div>
</blockquote></div>
_______________________________________________<br class="">ndnSIM mailing list<br class=""><a href="mailto:ndnSIM@lists.cs.ucla.edu" class="">ndnSIM@lists.cs.ucla.edu</a><br class="">http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim<br class=""></div></blockquote></div><br class=""></div></body></html>