<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Arial,Helvetica,sans-serif;" dir="ltr">
<p>Hi, </p>
<p>Here is the definition of advanceClock in NLSR: <a href="https://github.com/named-data/NLSR/blob/master/tests/test-common.hpp#L66" class="OWAAutoLink" id="LPlnk717030" previewremoved="true">https://github.com/named-data/NLSR/blob/master/tests/test-common.hpp#L66</a>. </p>
<p><br>
</p>
<p>We are trying to write a unit-test for Fib::<span>scheduleEntryRefresh() (which is currently under review in gerrit) at line 449 in </span> <a href="https://gerrit.named-data.net/#/c/2011/8/src/route/fib.cpp" class="OWAAutoLink" id="LPlnk217125" previewremoved="true">https://gerrit.named-data.net/#/c/2011/8/src/route/fib.cpp</a>. </p>
<p><span style="font-size: 12pt;">The method calls Fib::refreshEntry(), which actually renews the next hops, and at the end again schedules another refresh by calling </span>Fib::scheduleEntryRefresh().<br>
</p>
<p><span style="font-family: Calibri, Arial, Helvetica, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", NotoColorEmoji, "Segoe UI Symbol", "Android Emoji", EmojiSymbols; font-size: 16px;"><br>
</span></p>
<p><span style="font-family: Calibri, Arial, Helvetica, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", NotoColorEmoji, "Segoe UI Symbol", "Android Emoji", EmojiSymbols; font-size: 16px;">The unit-test is at line 310 in <a href="https://gerrit.named-data.net/#/c/2011/8/tests/test-fib.cpp" class="OWAAutoLink" id="LPlnk83142" previewremoved="true">https://gerrit.named-data.net/#/c/2011/8/tests/test-fib.cpp</a></span></p>
<p>As I commented on gerrit, if I don't do advanceClock() the scheduled refresh does not occur. But if I advanceClock() then it gets in an infinite loop, because <span style="font-family: Calibri, Arial, Helvetica, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", NotoColorEmoji, "Segoe UI Symbol", "Android Emoji", EmojiSymbols; font-size: 16px;">Fib::</span><span style="font-family: Calibri, Arial, Helvetica, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", NotoColorEmoji, "Segoe UI Symbol", "Android Emoji", EmojiSymbols; font-size: 16px;">scheduleEntryRefresh()
 and <span style="font-family: Calibri, Arial, Helvetica, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", NotoColorEmoji, "Segoe UI Symbol", "Android Emoji", EmojiSymbols; font-size: 16px;">Fib::refreshEntry() calls each other recursively. This is how I
 advance clock </span></span></p>
<p><span style="font-family: Calibri, Arial, Helvetica, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", NotoColorEmoji, "Segoe UI Symbol", "Android Emoji", EmojiSymbols; font-size: 16px;"><span style="font-family: Calibri, Arial, Helvetica, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", NotoColorEmoji, "Segoe UI Symbol", "Android Emoji", EmojiSymbols; font-size: 16px;"><span>this->advanceClocks(ndn::time::milliseconds(1));</span></span></span></p>
<p>Am I doing anything wrong?</p>
<p><br>
</p>
<p>Muktadir</p>
</div>
</body>
</html>