<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">A follow-up email with more tests:<div><br></div><div>Using a fresh ndnSIM 2.6 installation and the <a href="http://ndn-zipf-mandelbrot.cpp">ndn-zipf-mandelbrot.cpp</a> file in the examples, I modified that code to reflect the desired behavior (Consumer App requesting contents starting from a specific Seq Number) and enabled logging.</div><div><br></div><div><div>    // Install CCNx applications</div><div>    std::string prefix = "/prefix";</div><div><br></div><div>    ndn::AppHelper consumerHelper("ns3::ndn::ConsumerZipfMandelbrot");</div><div>    // ndn::AppHelper consumerHelper ("ns3::ndn::ConsumerCbr");</div><div>    consumerHelper.SetPrefix(prefix);</div><div>    consumerHelper.SetAttribute("Frequency", StringValue("10"));        // 100 interests a second</div><div>    consumerHelper.SetAttribute("NumberOfContents", StringValue("1000")); // 10 different contents</div><div>    /************************/</div><div>    consumerHelper.SetAttribute("StartSeq", StringValue("100"));  // <---- This line was added ---</div><div>    /************************/  <br></div><div>    // consumerHelper.SetAttribute ("Randomize", StringValue ("uniform")); // 100 interests a second</div><div>    consumerHelper.Install(consumerNodes);</div></div><div><br></div><div>The behavior presented in the logs show the Consumer requesting contents with Seq number under 100.</div><div><br></div><div>    +76.400000000s 0 ndn.ConsumerZipfMandelbrot:GetNextSeq(): [DEBUG] RandomNumber=17</div><div>    +76.400000000s 0 ndn.ConsumerZipfMandelbrot:SendPacket(): [INFO ] > Interest for 17, Total: 865, face: 259</div><div>    ...</div><div>    +76.800000000s 0 ndn.ConsumerZipfMandelbrot:GetNextSeq(): [DEBUG] RandomNumber=61</div><div>    +76.800000000s 0 ndn.ConsumerZipfMandelbrot:SendPacket(): [INFO ] > Interest for 61, Total: 869, face: 259</div><div><br></div><div><br></div><div>How can I accomplish the desired behavior so the consumer app starts requesting content at a certain Seq Number?</div><div>According to the <a href="http://ndnsim.net/current/doxygen/classns3_1_1ndn_1_1ConsumerZipfMandelbrot.html">documentation</a> this consumer application inherits the "StartSeq" from the parent class.</div><div><br></div><div><br></div><div><br></div></div></div></div></div></div></div></div><br><div class="gmail_quote"><div dir="ltr">On Thu, Dec 13, 2018 at 10:59 AM Jack Baldasso <<a href="mailto:jackbaldasso@gmail.com">jackbaldasso@gmail.com</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 dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">Hi,<div><br></div><div>I'm testing an application using the ConsumerZipfMandelbrot where I specify that each node requests a certain chunk of information. I'm using ndnSIM 2.6 on an Ubuntu 16.04 Vagrant VM with 4 GB of memory and 1 CPU (Intel Core i7-7700 3.60GHz)</div><div><br></div><div>I'm defining the consumer application as follows:</div><div><br></div><div>    std::string prefix = "/ndn/acme/";</div><div><br></div><div><div>    ndn::AppHelper consumerHelper("ns3::ndn::ConsumerZipfMandelbrot");</div><div>    consumerHelper.SetAttribute("Frequency", StringValue (10));</div><div>    //consumerHelper.SetAttribute("NumberOfContents", StringValue (1000));</div><div>    consumerHelper.SetPrefix(prefix);</div><div>   </div><div>    Ptr<UniformRandomVariable> rnd = CreateObject<UniformRandomVariable> ();  <br></div><div><br></div><div>    uint32_t nNodes = nodes.GetN ();</div><div>    for (uint16_t i = 0; i < nNodes; i++){</div><div>        uint16_t start_seq = rnd->GetInteger (0,10000) ;  // random between 0 and 10,000</div><div>        consumerHelper.SetAttribute("StartSeq",StringValue (std::to_string(

start_seq)));</div><div>        consumerHelper.SetAttribute("MaxSeq",StringValue (std::to_string(

start_seq + 1000)));</div><div>    } </div><div>    consumerHelper.Install(nodes);   // where `nodes` is a node container with 50 nodes</div></div><div><br></div><div>    Simulator::Stop(Seconds(1000.0));</div><div><br></div><div>Despite the fact that I'm setting the Simulator::Stop to 1000 seconds, my simulation is stopping just over 100 seconds. I assume this is because all nodes finish requesting all 1,000 contents assigned to them (10 Int/s * 100 seconds). But my understanding of the ConsumerZipfMandelbrot application is that it will keep requesting contents until the simulation ends at 1000 seconds.</div><div><br></div><div>Is my assumption wrong? If so, what are other possible things to check? There's no error message given, the simulation ends normally.</div><div><br></div><div>Thanks,</div><div>Jack</div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div></div></div></div></div></div></div></div>
</blockquote></div>