<div dir="auto"><div>Now that I realized the mailing list is missing from recipients, maybe some experts here could verify this possible issue:</div><div dir="auto"><br></div><div dir="auto">If an App is installed on a node AND a FIB entry of a certain prefix is installed on the same node. </div><div dir="auto">The app will read the packet On Interest. </div><div dir="auto"><br></div><div dir="auto">After the Interest passes through and stores an entries on PIT, that App will NOT read the packet On Data because this particlar name is stored in the PIT and it's unnecessary to pass it to the App. If possible, please confirm that this is the intended behavior. </div><div dir="auto"><br></div><div dir="auto">Best, </div><div dir="auto">Mark</div><div dir="auto"><br><div class="gmail_quote" dir="auto"><div dir="ltr" class="gmail_attr">On Fri, Mar 31, 2023, 1:05 AM Sirapop Theeranantachai <<a href="mailto:sirapop741@gmail.com">sirapop741@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto"><div>Hi Puming, </div><div dir="auto"><br></div><div dir="auto"></div><div dir="auto">Thanks for providing us your scenario. Now I see why OnData is not called. VNDN acts as both application and router. </div><div dir="auto"><br></div><div dir="auto">When the consumer sends Interest to VNDN nodes along the way to the producer, each nodes will follow the FIB entry (inserted by AddRoute) and pass to applications at the same time. OnInterest will be invoked as if VNDN is a producer (without any Data replies based on your code) while Interest will still be forwarded by FIB. </div><div dir="auto"><br></div><div dir="auto">When the data gets back from the producer, I suspect that the Data packet may be forwarded to the consumer by PIT without going through the VNDN app. </div><div dir="auto"><br></div><div dir="auto">This is assuming your channels are set up correctly. I need to verify and will let you know if this is the intended behavior. </div><div dir="auto"><br></div><div dir="auto">Best, </div><div dir="auto">Mari<br><br><div class="gmail_quote" dir="auto"><div dir="ltr" class="gmail_attr">On Thu, Mar 30, 2023, 9:40 PM Puming Fang <<a href="mailto:pfang@umass.edu" rel="noreferrer noreferrer" target="_blank">pfang@umass.edu</a>> wrote:<br></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">Hi Mark,<div><br></div><div>Our test scenario includes a consumer, two VNDN nodes, and a producer. I am trying to write different features for the VNDN node.</div><div><br></div><div>The material you provided is really helpful. Thank you!</div><div><br></div><div>Best,</div><div>Puming <br><div><br><blockquote type="cite"><div>On Mar 29, 2023, at 9:42 PM, Sirapop Theeranantachai <<a href="mailto:sirapop741@gmail.com" rel="noreferrer noreferrer noreferrer" target="_blank">sirapop741@gmail.com</a>> wrote:</div><br><div><div dir="auto"><div dir="ltr"><div>Hi Puming,</div><div><br></div><div>Would you also provide us with a code that instantiates the custom application you are running? Based on your code, your app does not send any interest when the app is initialized. You may need to schedule something on application starts like the example on this page: <a href="https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fndnsim.net%2Fcurrent%2Fapplications.html&data=05%7C01%7Cpfang%40umass.edu%7Ca390ac0861af429adeb908db30d92f2d%7C7bd08b0b33954dc194bbd0b2e56a497f%7C0%7C0%7C638157481592274078%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=lee40qYIQ2%2BpYYTpogisQhNMcGZSuw7BTyeTn6xm8lI%3D&reserved=0" rel="noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer" target="_blank">https://ndnsim.net/current/applications.html</a></div><div dir="auto"><pre> Simulator::Schedule(Seconds(1.0), &CustomApp::SendInterest, this);<br></pre></div><div dir="auto">May I ask what scenario are you planning to create? </div><div dir="auto"><br></div><div>Extra tips: Right now, your application acts as both consumer and producer. I just want to make sure that you may need to:</div><div>1) If you plan to run your custom app on >1 nodes, you may need to create and install <i>channels</i> between two faces on two different nodes. </div><div>2) Add routes to the correct face.</div><div>If face_1 is on node_1 and face_2 is on node_2. You need to do AddRoute(node_1, prefix, face_1, xx) and AddRoute(node_2, prefix, face_2, yy). This will tell node_1 to forward the given prefix to face_1. Then, <i>Channels </i>will forward them to the other end.</div><br><div>Usually when we run simulations on NDN, we do not install the route (AddRoute) inside the application. Instead, we create a consumer, a producer, a channel between them, and add routes between two nodes.</div><div>
<div>AddRoute has an overloaded function that takes two nodes as parameters. </div><div><a href="https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fndnsim.net%2Fcurrent%2Fdoxygen%2Fndn-fib-helper_8cpp_source.html%23l00085&data=05%7C01%7Cpfang%40umass.edu%7Ca390ac0861af429adeb908db30d92f2d%7C7bd08b0b33954dc194bbd0b2e56a497f%7C0%7C0%7C638157481592274078%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=gPK9R96BIEig6SJR0mlau5uCVtRBtiSNF2T7NujsCH0%3D&reserved=0" rel="noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer" target="_blank">https://ndnsim.net/current/doxygen/ndn-fib-helper_8cpp_source.html#l00085</a></div><div>For example, you can alternatively do AddRoute(node_1, prefix, node_2, xx) outside your application classes. This helper function will look up the other end of its installed channel to find the outgoing face.</div><div><br></div><div>In an ideal case, if you want a node to act as both consumer and producer, you may want to create two different applications and install them on the same node. I personally did not try creating an application that acts as both, but it technically <i>should</i> work.<br></div><div dir="auto"><br></div><div dir="auto">Note that in the ndnSIM examples on custom apps: <span style="font-family:"lucida grande",verdana,geneva,arial,sans-serif;font-size:14.6667px;text-align:justify;background-color:rgb(255,255,255)">(</span><code style="text-align:justify;background-color:rgb(255,255,255)">ndn-simple-with-custom-app.cpp</code><span style="font-family:"lucida grande",verdana,geneva,arial,sans-serif;font-size:14.6667px;text-align:justify;background-color:rgb(255,255,255)">).</span> Only one node is installed--so no channels--and Interest is sent to the same node. This set-up is very specific and I doubt that this is what you really want to test? assuming that  your code shares quite a similarity. </div><div dir="auto"><br></div>

</div></div>ndnSIM can be pretty challenging to get started. Please let me know if this solves your issue!<div dir="auto"><br></div><div dir="auto">Best, </div><div dir="auto">Mark<br><br><div class="gmail_quote" dir="auto"><div dir="ltr" class="gmail_attr">On Wed, Mar 29, 2023 at 12:52 PM Puming Fang <<a href="mailto:pfang@umass.edu" rel="noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer" target="_blank">pfang@umass.edu</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>Hi Mark,<div> <br><div><blockquote type="cite"><div dir="ltr"><div>Just a confirmation, this line:</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>NS_LOG_INFO("VNDN node receives Interest, Interest = " << interest->getName());</div></blockquote><div>does run, but this line:</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>NS_LOG_INFO("VNDN node receives Data, Data = " << data->getName());</div></blockquote><div>does not?</div></div></blockquote><div>Yes.</div><div><br></div><div>I have attached the files for your review. Thanks.</div><div><br></div><div>Best,</div><div>Puming</div><div></div></div></div></div><div><div><div><div></div></div></div></div><div><div><div><div></div><blockquote type="cite"><div>On Mar 29, 2023, at 11:40 AM, Sirapop Theeranantachai <<a href="mailto:sirapop741@gmail.com" rel="noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer" target="_blank">sirapop741@gmail.com</a>> wrote:</div><br><div><div dir="ltr"><div>Would you be able to provide us your full .cpp and .hpp of custom consumer and producer? <br></div><div><br></div><div>Just a confirmation, this line:</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>NS_LOG_INFO("VNDN node receives Interest, Interest = " << interest->getName());</div></blockquote><div>does run, but this line:</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>NS_LOG_INFO("VNDN node receives Data, Data = " << data->getName());</div></blockquote><div>does not?</div><div><br></div><div>If you're writing a custom consumer/producer <b>that extends from App</b>, for example, ndn-vndn.cpp, you may need to change the line <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>NS_LOG_COMPONENT_DEFINE("ndn.Consumer");</div></blockquote><div>in ndn-vndn.hpp to something else like ndn.VNDN so that you are able to log them with NS_LOG</div><div><br></div><div>You also have a choice to extend an already existing ndn.Consumer rather than adding another custom consumer extending from "App".</div><div>For instance, ndnSIM has a few examples: consumer-cbr, consumer-window, consumer-batchers. All of them extend from Consumer, not App<br></div><div><br></div><div>Mark<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Mar 29, 2023 at 9:49 AM Puming Fang <<a href="mailto:pfang@umass.edu" rel="noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer" target="_blank">pfang@umass.edu</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>Hi Mark,<div><br></div><div>Thanks for the reply.</div><div><br></div><div>I am trying to write a customized application “VNDN".</div><div><br><table style="box-sizing:border-box;border-spacing:0px;border-collapse:collapse;color:rgb(31,35,40);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";font-size:14px"><tbody style="box-sizing:border-box"><tr style="box-sizing:border-box"><td id="m_398069860077999885m_-7447914331010085174m_-5985546492255790989m_-3263678054020896564m_-3089305802050592940m_4585365807257237120m_6346494215440544316m_-2883105034423012506m_-924373173248242257m_-5379763315311504139m_6941050312199341887m_8140101265070186220m_2763835214161197351m_5078134804741392031m_-3458650526650476966m_-4061504377878036201L103" style="box-sizing:border-box;padding:0px 10px;width:50px;min-width:50px;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:12px;line-height:20px;text-align:right;white-space:nowrap;vertical-align:top"></td><td id="m_398069860077999885m_-7447914331010085174m_-5985546492255790989m_-3263678054020896564m_-3089305802050592940m_4585365807257237120m_6346494215440544316m_-2883105034423012506m_-924373173248242257m_-5379763315311504139m_6941050312199341887m_8140101265070186220m_2763835214161197351m_5078134804741392031m_-3458650526650476966m_-4061504377878036201LC103" style="box-sizing:border-box;padding:0px 10px;line-height:20px;vertical-align:top;overflow:visible;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;white-space:pre-wrap"><span style="box-sizing:border-box;font-size:12px">void</span></td></tr></tbody></table></div><div><table style="box-sizing:border-box;border-spacing:0px;border-collapse:collapse;color:rgb(31,35,40);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";font-size:14px"><tbody style="box-sizing:border-box"><tr style="box-sizing:border-box"><td id="m_398069860077999885m_-7447914331010085174m_-5985546492255790989m_-3263678054020896564m_-3089305802050592940m_4585365807257237120m_6346494215440544316m_-2883105034423012506m_-924373173248242257m_-5379763315311504139m_6941050312199341887m_8140101265070186220m_2763835214161197351m_5078134804741392031m_-3458650526650476966m_-4061504377878036201L104" style="box-sizing:border-box;padding:0px 10px;width:50px;min-width:50px;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;line-height:20px;text-align:right;white-space:nowrap;vertical-align:top"></td><td id="m_398069860077999885m_-7447914331010085174m_-5985546492255790989m_-3263678054020896564m_-3089305802050592940m_4585365807257237120m_6346494215440544316m_-2883105034423012506m_-924373173248242257m_-5379763315311504139m_6941050312199341887m_8140101265070186220m_2763835214161197351m_5078134804741392031m_-3458650526650476966m_-4061504377878036201LC104" style="box-sizing:border-box;padding:0px 10px;line-height:20px;vertical-align:top;overflow:visible;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;white-space:pre-wrap"><span style="font-size:12px"><span style="box-sizing:border-box">VNDN::OnInterest</span>(std::shared_ptr<<span style="box-sizing:border-box">const</span> ndn::Interest> interest)</span></td></tr><tr style="box-sizing:border-box"><td id="m_398069860077999885m_-7447914331010085174m_-5985546492255790989m_-3263678054020896564m_-3089305802050592940m_4585365807257237120m_6346494215440544316m_-2883105034423012506m_-924373173248242257m_-5379763315311504139m_6941050312199341887m_8140101265070186220m_2763835214161197351m_5078134804741392031m_-3458650526650476966m_-4061504377878036201L105" style="box-sizing:border-box;padding:0px 10px;width:50px;min-width:50px;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;line-height:20px;text-align:right;white-space:nowrap;vertical-align:top"></td><td id="m_398069860077999885m_-7447914331010085174m_-5985546492255790989m_-3263678054020896564m_-3089305802050592940m_4585365807257237120m_6346494215440544316m_-2883105034423012506m_-924373173248242257m_-5379763315311504139m_6941050312199341887m_8140101265070186220m_2763835214161197351m_5078134804741392031m_-3458650526650476966m_-4061504377878036201LC105" style="box-sizing:border-box;padding:0px 10px;line-height:20px;vertical-align:top;overflow:visible;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;white-space:pre-wrap"><span style="font-size:12px">{<br></span></td></tr><tr style="box-sizing:border-box"><td id="m_398069860077999885m_-7447914331010085174m_-5985546492255790989m_-3263678054020896564m_-3089305802050592940m_4585365807257237120m_6346494215440544316m_-2883105034423012506m_-924373173248242257m_-5379763315311504139m_6941050312199341887m_8140101265070186220m_2763835214161197351m_5078134804741392031m_-3458650526650476966m_-4061504377878036201L107" style="box-sizing:border-box;padding:0px 10px;width:50px;min-width:50px;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;line-height:20px;text-align:right;white-space:nowrap;vertical-align:top"></td><td id="m_398069860077999885m_-7447914331010085174m_-5985546492255790989m_-3263678054020896564m_-3089305802050592940m_4585365807257237120m_6346494215440544316m_-2883105034423012506m_-924373173248242257m_-5379763315311504139m_6941050312199341887m_8140101265070186220m_2763835214161197351m_5078134804741392031m_-3458650526650476966m_-4061504377878036201LC107" style="box-sizing:border-box;padding:0px 10px;line-height:20px;vertical-align:top;overflow:visible;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;white-space:pre-wrap"><span style="font-size:12px">  <span style="box-sizing:border-box">ndn::App::OnInterest</span>(interest);</span></td></tr><tr style="box-sizing:border-box"><td id="m_398069860077999885m_-7447914331010085174m_-5985546492255790989m_-3263678054020896564m_-3089305802050592940m_4585365807257237120m_6346494215440544316m_-2883105034423012506m_-924373173248242257m_-5379763315311504139m_6941050312199341887m_8140101265070186220m_2763835214161197351m_5078134804741392031m_-3458650526650476966m_-4061504377878036201L108" style="box-sizing:border-box;padding:0px 10px;width:50px;min-width:50px;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;line-height:20px;text-align:right;white-space:nowrap;vertical-align:top"></td><td id="m_398069860077999885m_-7447914331010085174m_-5985546492255790989m_-3263678054020896564m_-3089305802050592940m_4585365807257237120m_6346494215440544316m_-2883105034423012506m_-924373173248242257m_-5379763315311504139m_6941050312199341887m_8140101265070186220m_2763835214161197351m_5078134804741392031m_-3458650526650476966m_-4061504377878036201LC108" style="box-sizing:border-box;padding:0px 10px;line-height:20px;vertical-align:top;overflow:visible;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;white-space:pre-wrap"><span style="font-size:12px">  <span style="box-sizing:border-box">NS_LOG_INFO</span>(<span style="box-sizing:border-box"><span style="box-sizing:border-box">"</span>VNDN node receives Interest, Interest = <span style="box-sizing:border-box">"</span></span> << interest-><span style="box-sizing:border-box">getName</span>());<br></span></td></tr><tr style="box-sizing:border-box"><td id="m_398069860077999885m_-7447914331010085174m_-5985546492255790989m_-3263678054020896564m_-3089305802050592940m_4585365807257237120m_6346494215440544316m_-2883105034423012506m_-924373173248242257m_-5379763315311504139m_6941050312199341887m_8140101265070186220m_2763835214161197351m_5078134804741392031m_-3458650526650476966m_-4061504377878036201L115" style="box-sizing:border-box;padding:0px 10px;width:50px;min-width:50px;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;line-height:20px;text-align:right;white-space:nowrap;vertical-align:top"></td><td id="m_398069860077999885m_-7447914331010085174m_-5985546492255790989m_-3263678054020896564m_-3089305802050592940m_4585365807257237120m_6346494215440544316m_-2883105034423012506m_-924373173248242257m_-5379763315311504139m_6941050312199341887m_8140101265070186220m_2763835214161197351m_5078134804741392031m_-3458650526650476966m_-4061504377878036201LC115" style="box-sizing:border-box;padding:0px 10px;line-height:20px;vertical-align:top;overflow:visible;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;white-space:pre-wrap"><span style="font-size:12px">}</span></td></tr><tr style="box-sizing:border-box"><td id="m_398069860077999885m_-7447914331010085174m_-5985546492255790989m_-3263678054020896564m_-3089305802050592940m_4585365807257237120m_6346494215440544316m_-2883105034423012506m_-924373173248242257m_-5379763315311504139m_6941050312199341887m_8140101265070186220m_2763835214161197351m_5078134804741392031m_-3458650526650476966m_-4061504377878036201L116" style="box-sizing:border-box;padding:0px 10px;width:50px;min-width:50px;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;line-height:20px;text-align:right;white-space:nowrap;vertical-align:top"></td><td id="m_398069860077999885m_-7447914331010085174m_-5985546492255790989m_-3263678054020896564m_-3089305802050592940m_4585365807257237120m_6346494215440544316m_-2883105034423012506m_-924373173248242257m_-5379763315311504139m_6941050312199341887m_8140101265070186220m_2763835214161197351m_5078134804741392031m_-3458650526650476966m_-4061504377878036201LC116" style="box-sizing:border-box;padding:0px 10px;line-height:20px;vertical-align:top;overflow:visible;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;white-space:pre-wrap"><span style="font-size:12px">
</span></td></tr><tr style="box-sizing:border-box"><td id="m_398069860077999885m_-7447914331010085174m_-5985546492255790989m_-3263678054020896564m_-3089305802050592940m_4585365807257237120m_6346494215440544316m_-2883105034423012506m_-924373173248242257m_-5379763315311504139m_6941050312199341887m_8140101265070186220m_2763835214161197351m_5078134804741392031m_-3458650526650476966m_-4061504377878036201L117" style="box-sizing:border-box;padding:0px 10px;width:50px;min-width:50px;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;line-height:20px;text-align:right;white-space:nowrap;vertical-align:top"></td><td id="m_398069860077999885m_-7447914331010085174m_-5985546492255790989m_-3263678054020896564m_-3089305802050592940m_4585365807257237120m_6346494215440544316m_-2883105034423012506m_-924373173248242257m_-5379763315311504139m_6941050312199341887m_8140101265070186220m_2763835214161197351m_5078134804741392031m_-3458650526650476966m_-4061504377878036201LC117" style="box-sizing:border-box;padding:0px 10px;line-height:20px;vertical-align:top;overflow:visible;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;white-space:pre-wrap"><span style="box-sizing:border-box;font-size:12px"><span style="box-sizing:border-box">//</span> Callback that will be called when Data arrives</span></td></tr><tr style="box-sizing:border-box"><td id="m_398069860077999885m_-7447914331010085174m_-5985546492255790989m_-3263678054020896564m_-3089305802050592940m_4585365807257237120m_6346494215440544316m_-2883105034423012506m_-924373173248242257m_-5379763315311504139m_6941050312199341887m_8140101265070186220m_2763835214161197351m_5078134804741392031m_-3458650526650476966m_-4061504377878036201L118" style="box-sizing:border-box;padding:0px 10px;width:50px;min-width:50px;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;line-height:20px;text-align:right;white-space:nowrap;vertical-align:top"></td><td id="m_398069860077999885m_-7447914331010085174m_-5985546492255790989m_-3263678054020896564m_-3089305802050592940m_4585365807257237120m_6346494215440544316m_-2883105034423012506m_-924373173248242257m_-5379763315311504139m_6941050312199341887m_8140101265070186220m_2763835214161197351m_5078134804741392031m_-3458650526650476966m_-4061504377878036201LC118" style="box-sizing:border-box;padding:0px 10px;line-height:20px;vertical-align:top;overflow:visible;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;white-space:pre-wrap"><span style="box-sizing:border-box;font-size:12px">void</span></td></tr><tr style="box-sizing:border-box"><td id="m_398069860077999885m_-7447914331010085174m_-5985546492255790989m_-3263678054020896564m_-3089305802050592940m_4585365807257237120m_6346494215440544316m_-2883105034423012506m_-924373173248242257m_-5379763315311504139m_6941050312199341887m_8140101265070186220m_2763835214161197351m_5078134804741392031m_-3458650526650476966m_-4061504377878036201L119" style="box-sizing:border-box;padding:0px 10px;width:50px;min-width:50px;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;line-height:20px;text-align:right;white-space:nowrap;vertical-align:top"></td><td id="m_398069860077999885m_-7447914331010085174m_-5985546492255790989m_-3263678054020896564m_-3089305802050592940m_4585365807257237120m_6346494215440544316m_-2883105034423012506m_-924373173248242257m_-5379763315311504139m_6941050312199341887m_8140101265070186220m_2763835214161197351m_5078134804741392031m_-3458650526650476966m_-4061504377878036201LC119" style="box-sizing:border-box;padding:0px 10px;line-height:20px;vertical-align:top;overflow:visible;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;white-space:pre-wrap"><span style="font-size:12px"><span style="box-sizing:border-box">VNDN::OnData</span>(std::shared_ptr<<span style="box-sizing:border-box">const</span> ndn::Data> data)</span></td></tr><tr style="box-sizing:border-box"><td id="m_398069860077999885m_-7447914331010085174m_-5985546492255790989m_-3263678054020896564m_-3089305802050592940m_4585365807257237120m_6346494215440544316m_-2883105034423012506m_-924373173248242257m_-5379763315311504139m_6941050312199341887m_8140101265070186220m_2763835214161197351m_5078134804741392031m_-3458650526650476966m_-4061504377878036201L120" style="box-sizing:border-box;padding:0px 10px;width:50px;min-width:50px;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;line-height:20px;text-align:right;white-space:nowrap;vertical-align:top"></td><td id="m_398069860077999885m_-7447914331010085174m_-5985546492255790989m_-3263678054020896564m_-3089305802050592940m_4585365807257237120m_6346494215440544316m_-2883105034423012506m_-924373173248242257m_-5379763315311504139m_6941050312199341887m_8140101265070186220m_2763835214161197351m_5078134804741392031m_-3458650526650476966m_-4061504377878036201LC120" style="box-sizing:border-box;padding:0px 10px;line-height:20px;vertical-align:top;overflow:visible;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;white-space:pre-wrap"><span style="font-size:12px">{</span></td></tr><tr style="box-sizing:border-box"><td id="m_398069860077999885m_-7447914331010085174m_-5985546492255790989m_-3263678054020896564m_-3089305802050592940m_4585365807257237120m_6346494215440544316m_-2883105034423012506m_-924373173248242257m_-5379763315311504139m_6941050312199341887m_8140101265070186220m_2763835214161197351m_5078134804741392031m_-3458650526650476966m_-4061504377878036201L121" style="box-sizing:border-box;padding:0px 10px;width:50px;min-width:50px;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;line-height:20px;text-align:right;white-space:nowrap;vertical-align:top"></td><td id="m_398069860077999885m_-7447914331010085174m_-5985546492255790989m_-3263678054020896564m_-3089305802050592940m_4585365807257237120m_6346494215440544316m_-2883105034423012506m_-924373173248242257m_-5379763315311504139m_6941050312199341887m_8140101265070186220m_2763835214161197351m_5078134804741392031m_-3458650526650476966m_-4061504377878036201LC121" style="box-sizing:border-box;padding:0px 10px;line-height:20px;vertical-align:top;overflow:visible;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;white-space:pre-wrap"><span style="font-size:12px">  <span style="box-sizing:border-box">if</span> (!m_active)</span></td></tr><tr style="box-sizing:border-box"><td id="m_398069860077999885m_-7447914331010085174m_-5985546492255790989m_-3263678054020896564m_-3089305802050592940m_4585365807257237120m_6346494215440544316m_-2883105034423012506m_-924373173248242257m_-5379763315311504139m_6941050312199341887m_8140101265070186220m_2763835214161197351m_5078134804741392031m_-3458650526650476966m_-4061504377878036201L122" style="box-sizing:border-box;padding:0px 10px;width:50px;min-width:50px;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;line-height:20px;text-align:right;white-space:nowrap;vertical-align:top"></td><td id="m_398069860077999885m_-7447914331010085174m_-5985546492255790989m_-3263678054020896564m_-3089305802050592940m_4585365807257237120m_6346494215440544316m_-2883105034423012506m_-924373173248242257m_-5379763315311504139m_6941050312199341887m_8140101265070186220m_2763835214161197351m_5078134804741392031m_-3458650526650476966m_-4061504377878036201LC122" style="box-sizing:border-box;padding:0px 10px;line-height:20px;vertical-align:top;overflow:visible;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;white-space:pre-wrap"><span style="font-size:12px">    <span style="box-sizing:border-box">return</span>;</span></td></tr><tr style="box-sizing:border-box"><td id="m_398069860077999885m_-7447914331010085174m_-5985546492255790989m_-3263678054020896564m_-3089305802050592940m_4585365807257237120m_6346494215440544316m_-2883105034423012506m_-924373173248242257m_-5379763315311504139m_6941050312199341887m_8140101265070186220m_2763835214161197351m_5078134804741392031m_-3458650526650476966m_-4061504377878036201L123" style="box-sizing:border-box;padding:0px 10px;width:50px;min-width:50px;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;line-height:20px;text-align:right;white-space:nowrap;vertical-align:top"></td><td id="m_398069860077999885m_-7447914331010085174m_-5985546492255790989m_-3263678054020896564m_-3089305802050592940m_4585365807257237120m_6346494215440544316m_-2883105034423012506m_-924373173248242257m_-5379763315311504139m_6941050312199341887m_8140101265070186220m_2763835214161197351m_5078134804741392031m_-3458650526650476966m_-4061504377878036201LC123" style="box-sizing:border-box;padding:0px 10px;line-height:20px;vertical-align:top;overflow:visible;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;white-space:pre-wrap"><span style="font-size:12px">
</span></td></tr><tr style="box-sizing:border-box"><td id="m_398069860077999885m_-7447914331010085174m_-5985546492255790989m_-3263678054020896564m_-3089305802050592940m_4585365807257237120m_6346494215440544316m_-2883105034423012506m_-924373173248242257m_-5379763315311504139m_6941050312199341887m_8140101265070186220m_2763835214161197351m_5078134804741392031m_-3458650526650476966m_-4061504377878036201L124" style="box-sizing:border-box;padding:0px 10px;width:50px;min-width:50px;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;line-height:20px;text-align:right;white-space:nowrap;vertical-align:top"></td><td id="m_398069860077999885m_-7447914331010085174m_-5985546492255790989m_-3263678054020896564m_-3089305802050592940m_4585365807257237120m_6346494215440544316m_-2883105034423012506m_-924373173248242257m_-5379763315311504139m_6941050312199341887m_8140101265070186220m_2763835214161197351m_5078134804741392031m_-3458650526650476966m_-4061504377878036201LC124" style="box-sizing:border-box;padding:0px 10px;line-height:20px;vertical-align:top;overflow:visible;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;white-space:pre-wrap"><span style="font-size:12px">  <span style="box-sizing:border-box">ndn::App::OnData</span>(data); <span style="box-sizing:border-box"><span style="box-sizing:border-box">//</span> tracing inside</span></span></td></tr><tr style="box-sizing:border-box"><td id="m_398069860077999885m_-7447914331010085174m_-5985546492255790989m_-3263678054020896564m_-3089305802050592940m_4585365807257237120m_6346494215440544316m_-2883105034423012506m_-924373173248242257m_-5379763315311504139m_6941050312199341887m_8140101265070186220m_2763835214161197351m_5078134804741392031m_-3458650526650476966m_-4061504377878036201L125" style="box-sizing:border-box;padding:0px 10px;width:50px;min-width:50px;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;line-height:20px;text-align:right;white-space:nowrap;vertical-align:top"></td><td id="m_398069860077999885m_-7447914331010085174m_-5985546492255790989m_-3263678054020896564m_-3089305802050592940m_4585365807257237120m_6346494215440544316m_-2883105034423012506m_-924373173248242257m_-5379763315311504139m_6941050312199341887m_8140101265070186220m_2763835214161197351m_5078134804741392031m_-3458650526650476966m_-4061504377878036201LC125" style="box-sizing:border-box;padding:0px 10px;line-height:20px;vertical-align:top;overflow:visible;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;white-space:pre-wrap"><span style="font-size:12px">  </span></td></tr><tr style="box-sizing:border-box"><td id="m_398069860077999885m_-7447914331010085174m_-5985546492255790989m_-3263678054020896564m_-3089305802050592940m_4585365807257237120m_6346494215440544316m_-2883105034423012506m_-924373173248242257m_-5379763315311504139m_6941050312199341887m_8140101265070186220m_2763835214161197351m_5078134804741392031m_-3458650526650476966m_-4061504377878036201L126" style="box-sizing:border-box;padding:0px 10px;width:50px;min-width:50px;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;line-height:20px;text-align:right;white-space:nowrap;vertical-align:top"></td><td id="m_398069860077999885m_-7447914331010085174m_-5985546492255790989m_-3263678054020896564m_-3089305802050592940m_4585365807257237120m_6346494215440544316m_-2883105034423012506m_-924373173248242257m_-5379763315311504139m_6941050312199341887m_8140101265070186220m_2763835214161197351m_5078134804741392031m_-3458650526650476966m_-4061504377878036201LC126" style="box-sizing:border-box;padding:0px 10px;line-height:20px;vertical-align:top;overflow:visible;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;white-space:pre-wrap"><span style="font-size:12px">  <span style="box-sizing:border-box">NS_LOG_INFO</span>(<span style="box-sizing:border-box"><span style="box-sizing:border-box">"</span>VNDN node receives Data, Data = <span style="box-sizing:border-box">"</span></span> << data-><span style="box-sizing:border-box">getName</span>());<br></span></td></tr><tr style="box-sizing:border-box"><td id="m_398069860077999885m_-7447914331010085174m_-5985546492255790989m_-3263678054020896564m_-3089305802050592940m_4585365807257237120m_6346494215440544316m_-2883105034423012506m_-924373173248242257m_-5379763315311504139m_6941050312199341887m_8140101265070186220m_2763835214161197351m_5078134804741392031m_-3458650526650476966m_-4061504377878036201L129" style="box-sizing:border-box;padding:0px 10px;width:50px;min-width:50px;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;line-height:20px;text-align:right;white-space:nowrap;vertical-align:top"></td><td id="m_398069860077999885m_-7447914331010085174m_-5985546492255790989m_-3263678054020896564m_-3089305802050592940m_4585365807257237120m_6346494215440544316m_-2883105034423012506m_-924373173248242257m_-5379763315311504139m_6941050312199341887m_8140101265070186220m_2763835214161197351m_5078134804741392031m_-3458650526650476966m_-4061504377878036201LC129" style="box-sizing:border-box;padding:0px 10px;line-height:20px;vertical-align:top;overflow:visible;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;white-space:pre-wrap"><span style="font-size:12px"> }</span></td></tr></tbody></table><div><br></div><div>I run the following command: </div><div><span style="background-color:rgb(255,255,255);font-weight:bold">NS_LOG</span><span style="background-color:rgb(255,255,255);font-weight:bold;color:rgb(102,102,102)">=</span><span style="background-color:rgb(255,255,255);font-weight:bold">ndn</span><span style="background-color:rgb(255,255,255);font-weight:bold;color:rgb(102,102,102)">.</span><span style="background-color:rgb(255,255,255);font-weight:bold">Consumer</span><span style="background-color:rgb(255,255,255);font-weight:bold">:</span><span style="background-color:rgb(255,255,255);font-weight:bold">ndn</span><span style="background-color:rgb(255,255,255);font-weight:bold;color:rgb(102,102,102)">.</span><span style="background-color:rgb(255,255,255);font-weight:bold">Producer:</span><span style="background-color:rgb(255,255,255);font-weight:bold">ndn</span><span style="background-color:rgb(255,255,255);font-weight:bold;color:rgb(102,102,102)">.</span><span style="background-color:rgb(255,255,255);font-weight:bold">VNDN </span><span style="background-color:rgb(255,255,255);font-weight:bold;color:rgb(102,102,102)">./</span><span><b><span style="background-color:rgb(255,255,255)">waf </span></b></span><b style="background-color:rgb(255,255,255)"> <span><font color="#666666"><span>—</span></font>run</span><span style="color:rgb(102,102,102)">=xxx</span></b></div><div><b style="background-color:rgb(255,255,255)"><span style="color:rgb(102,102,102)"><br></span></b></div><div><span style="background-color:rgb(255,255,255)">The VNDN::OnInterest is called upon the arrival of the Interest but </span><span style="background-color:rgb(255,255,255)">VNDN::OnData is not called upon the arrival of the Data.</span></div><div><span style="background-color:rgb(255,255,255)"><br></span></div><div>Thank you for your time and assistance.</div><div><br></div><div>Best,</div><div>Puming</div><div><br></div><div><br><blockquote type="cite"><div>On Mar 29, 2023, at 1:27 AM, Sirapop Theeranantachai via ndnSIM <<a href="mailto:ndnsim@lists.cs.ucla.edu" rel="noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer" target="_blank">ndnsim@lists.cs.ucla.edu</a>> wrote:</div><br><div><div dir="ltr">
<div>Hello,</div><div><br></div><div>What command did you run when you use ndnSIM. Consumers and producers in ndnSIM will print out logs only if "NS_LOG" variables are defined as 
ndn.Consumer and ndn.Producer respectively.</div><div><br></div><div>For example,</div><div>ndn.Consumer contains "OnData", "SendPacket", and "OnTimeout".</div><div>ndn.Producer contains "OnInterest".</div><div>If you want ndnSIM to show the log of both "OnData" and "OnInterest", you may need to put prefix before the ./waf command such as:</div><div><br></div><div>
<b>NS_LOG=ndn.Consumer:ndn.Producer ./waf --run=xxx </b><br></div><div><br></div><div>If the packet does not actually arrive, you will see OnTimeout instead, so I do believe the packets are arriving.<br><br>Hope this help!<br>Mark <br></div><div><br></div><div>Begin forwarded message:</div><br><div style="margin:0px"><span style="font-family:-webkit-system-font,"Helvetica Neue",Helvetica,sans-serif"><b>From: </b></span><span style="font-family:-webkit-system-font,Helvetica Neue,Helvetica,sans-serif">Puming Fang via ndnSIM <<a href="mailto:ndnsim@lists.cs.ucla.edu" rel="noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer" target="_blank">ndnsim@lists.cs.ucla.edu</a>><br></span></div><div style="margin:0px"><span style="font-family:-webkit-system-font,"Helvetica Neue",Helvetica,sans-serif"><b>Subject: </b></span><span style="font-family:-webkit-system-font,Helvetica Neue,Helvetica,sans-serif"><b>[ndnSIM] App::OnData(data) is not called when Data Arrives</b><br></span></div><div style="margin:0px"><span style="font-family:-webkit-system-font,"Helvetica Neue",Helvetica,sans-serif"><b>Date: </b></span><span style="font-family:-webkit-system-font,Helvetica Neue,Helvetica,sans-serif">March 27, 2023 at 11:11:32 AM PDT<br></span></div><div style="margin:0px"><span style="font-family:-webkit-system-font,"Helvetica Neue",Helvetica,sans-serif"><b>To: </b></span><span style="font-family:-webkit-system-font,Helvetica Neue,Helvetica,sans-serif"><a href="mailto:ndnsim@lists.cs.ucla.edu" rel="noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer" target="_blank">ndnsim@lists.cs.ucla.edu</a><br></span></div><div style="margin:0px"><span style="font-family:-webkit-system-font,"Helvetica Neue",Helvetica,sans-serif"><b>Reply-To: </b></span><span style="font-family:-webkit-system-font,Helvetica Neue,Helvetica,sans-serif">Puming Fang <<a href="mailto:pfang@umass.edu" rel="noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer" target="_blank">pfang@umass.edu</a>><br></span></div><br><div><div><div dir="auto"><p>Dear NDN team,</p><p>I
 am currently working with ndnsim and have a query regarding the 
handling of Interest and Data packets. While attempting to implement 
certain operations upon the arrival of these packets, I have noticed 
that while the "App::OnInterest(Interest)" function works as expected, 
the "App::OnData(Data)" function does not seem to be called when the 
Data packet arrives. My intention is to log some information upon the 
arrival of Data packets.</p><p>I can confirm that the Data packets are 
indeed arriving at the node and being forwarded correctly. Could you 
please advise me on what could be causing this issue?</p><p>Thank you for your time and assistance.</p><p>Best,
Puming</p></div></div>_______________________________________________<br>ndnSIM mailing list<br><a href="mailto:ndnSIM@lists.cs.ucla.edu" rel="noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer" target="_blank">ndnSIM@lists.cs.ucla.edu</a><br><a href="https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.lists.cs.ucla.edu%2Fmailman%2Flistinfo%2Fndnsim&data=05%7C01%7Cpfang%40umass.edu%7Ca390ac0861af429adeb908db30d92f2d%7C7bd08b0b33954dc194bbd0b2e56a497f%7C0%7C0%7C638157481592274078%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=Rh8GBsoA%2F%2BMhhZnOKnA3Z8aqCZJpjW4pk%2FzetG10ZVw%3D&reserved=0" rel="noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer" target="_blank">https://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim</a></div>

</div>
_______________________________________________<br>ndnSIM mailing list<br><a href="mailto:ndnSIM@lists.cs.ucla.edu" rel="noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer" target="_blank">ndnSIM@lists.cs.ucla.edu</a><br><a href="https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.lists.cs.ucla.edu%2Fmailman%2Flistinfo%2Fndnsim&data=05%7C01%7Cpfang%40umass.edu%7Ca390ac0861af429adeb908db30d92f2d%7C7bd08b0b33954dc194bbd0b2e56a497f%7C0%7C0%7C638157481592274078%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=Rh8GBsoA%2F%2BMhhZnOKnA3Z8aqCZJpjW4pk%2FzetG10ZVw%3D&reserved=0" rel="noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer" target="_blank">https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.lists.cs.ucla.edu%2Fmailman%2Flistinfo%2Fndnsim&data=05%7C01%7Cpfang%40umass.edu%7Ce7cf139fa72f4b12606b08db302f746c%7C7bd08b0b33954dc194bbd0b2e56a497f%7C0%7C0%7C638156752614482532%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=Ikrf%2FYiN%2BCYx5uLulzviUe6zch8tJwrdlY%2FvXhPW5Dg%3D&reserved=0</a><br></div></blockquote></div><br></div></div></blockquote></div>
</div></blockquote></div><br></div></div></blockquote></div>
</div></div>
<span id="m_398069860077999885m_-7447914331010085174m_-5985546492255790989cid:18730c9f1d9130a6e8d1"><Screenshot_2023-03-29-21-31-55-66_40deb401b9ffe8e1df2f1cc5ba480b12.jpg></span></div></blockquote></div><br></div></div></blockquote></div></div></div>
</blockquote></div></div></div>