<html><head><meta http-equiv="Content-Type" content="text/html charset=iso-8859-1"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>Hi Yifeng,</div><div><br></div><div>Forwarding strategy deals with everything related to packet forwarding, including processing of interests and data packets.  There are many events that you can "override" in your extension.  Check API docs for the full list of events (<a href="http://ndnsim.net/doxygen/classns3_1_1ndn_1_1_forwarding_strategy.html">http://ndnsim.net/doxygen/classns3_1_1ndn_1_1_forwarding_strategy.html</a>) and source code for more details.</div><div><br></div><div>Are you talking about something related to per-outgoing-face limiting?    You can check out the implementation of forwarding strategy extension <a href="https://github.com/NDN-Routing/ndnSIM/blob/master/model/fw/per-out-face-limits.h">https://github.com/NDN-Routing/ndnSIM/blob/master/model/fw/per-out-face-limits.h</a>  which can use any limit based on ndn::Limits class (<a href="https://github.com/NDN-Routing/ndnSIM/blob/master/utils/ndn-limits.h">https://github.com/NDN-Routing/ndnSIM/blob/master/utils/ndn-limits.h</a>).</div><div><br></div><div>There are currently two types of limits implemented: ns3::ndn::Limits::Window and ns3::ndn::Limits::Rate (<a href="http://ndnsim.net/fw.html#strategies-with-interest-limits">http://ndnsim.net/fw.html#strategies-with-interest-limits</a>).  In your case you would probably need an extended version of ns3::ndn::fw::PerOutFaceLimits strategy with modified version of ns3::ndn::Limits::Window limits.</div><div><br></div><div>---</div><div>Alex</div><div><br></div><br><div><div>On Feb 7, 2013, at 12:35 PM, Yifeng Li <<a href="mailto:yifengl@email.arizona.edu">yifengl@email.arizona.edu</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">Hi Alex,<br><br>Does the forwarding strategies apply to every face? E.g. I want every face to have a window. <br><br>I also want to change the window size for every content received, could that modification be done in the forwarding strategy or somewhere else, like the l3 protocol?<br>
<br>Also, to find out what the outgoing face is for an interest, I would need to look up the FIB during DoPropagateInterest. Where would I look to find code used for FIB look ups?<br>Thanks for your help,<br>Yifeng<br>
<br><br><div class="gmail_quote">On Thu, Feb 7, 2013 at 12:23 PM, Yifeng Li <span dir="ltr"><<a href="mailto:yifengl@email.arizona.edu" target="_blank">yifengl@email.arizona.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; position: static; z-index: auto; ">
Hello Alex,<br><br>If I were to incorporate NACKs in the forwarding scheme, e.g. receiving NACK => window reduce, where would I modify that? Would it still be within the forwarding strategy extension or should I modify the function that handles NACKs in general? If it's the latter, where is this function?<br><br><div class="im HOEnZb">Thanks for your help,<br>Yifeng<br><br><br></div><div class="HOEnZb"><div class="h5"><div class="gmail_quote">
On Thu, Feb 7, 2013 at 12:13 PM, Alex Afanasyev <span dir="ltr"><<a href="mailto:afanasev@cs.ucla.edu" target="_blank">afanasev@cs.ucla.edu</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; position: static; z-index: auto; "><div style="word-wrap:break-word"><div>Hi Yifeng,</div><div><br></div><div>Actual sending is happening in the base ndn::Consumer class (ndn-consumer.cc).  As this is an application, the only communication channel to/from l3 protocol is through application face and registered callback (actually, to send from app, you always need to use callback).</div>

<div><br></div><div>Wouldn't extension of the forwarding strategy be a better fit for your needs?  Inside the forwarding strategy you have full control to which faces you want to send messages.</div><div><br></div><div>

--</div><div>Alex</div><div><div><br></div><div><div><div>On Feb 7, 2013, at 11:08 AM, Yifeng Li <<a href="mailto:yifengl@email.arizona.edu" target="_blank">yifengl@email.arizona.edu</a>> wrote:</div>
<br><blockquote type="cite">Hi Alex,<br><br>I have a question regarding the ndnSIM apps. I'm trying simulate something similar to hop by hop TCP, e.g. every node receives interests, buffers them and then sends them out with typical TCP fashion (AIMD). I'm looking at ndn-consumer-window.cc, specifically in ConsumerWindow::ScheduleNextPacket. I see a send event is scheduled, and Consumer::SendPacket is called, but where in SendPacket is the packet actually sent? Can I specify a face to send? Also when receiving interests, are the interests buffered somewhere?<br>


<br>Thanks for your help,<br>Yifeng<br><br><br>
</blockquote></div><br></div></div></div></blockquote></div><br>
</div></div></blockquote></div><br>
</blockquote></div><br></body></html>