<div dir="ltr"><span style="font-size:12.8px">Hi Lan</span><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">Let me expand the topology as:</div><div style="font-size:12.8px"><font face="monospace, monospace">appA   appB</font></div><div style="font-size:12.8px"><font face="monospace, monospace">  |     |</font></div><div style="font-size:12.8px"><font face="monospace, monospace"> fwA---fwB</font></div><div style="font-size:12.8px"><ol><li style="margin-left:15px">appA sends Interest /P nonce=1 to fwA, which is forwarded to fwB, and then appB<br>fwA has PIT entry /P in=["appA nonce=1"] out=["fwB nonce=1"]<br>fwB has PIT entry /P in=["fwA nonce=1"] out=["appB nonce=1"]<br></li><li style="margin-left:15px">appB sends Interest /P nonce=2 to fwB, which is forwarded to fwA, and then appA<br>fwB has PIT entry /P in=["fwA nonce=1", "appB nonce=2"] out=["appB nonce=1", "fwA nonce=2"]<br>fwA has PIT entry /P in=["appA nonce=1", "fwB nonce=2"] out=["fwB nonce=1", "appA nonce=2"]<br></li><li style="margin-left:15px">appA responds Data /P to fwA, which is returned to fwB, and then appB<br>fwA has PIT entry /P in=[] out=["fwB nonce=1"]<br>fwB has PIT entry /P in=[] out=["appB nonce=1"]<br></li></ol></div><div style="font-size:12.8px">In step3, fwA will clear the in-record "appA nonce=1" but will not return Data to appA. fwA assumes appA can internally satisfy this pending Interest; this "internal satisfying" feature is not implemented in ndn-cxx, so application should handle this by itself.</div><div style="font-size:12.8px">Similarly, fwB will clear the in-record "fwA nonce=1" but will not return Data to fwA. fwB assumes fwA can internally satisfy this pending Interest; this "internal satisfying" feature is implemented in NFD, in the form of returning Data to all consumers and admitting Data into CS.</div><div style="font-size:12.8px">The PIT entries on fwA and fwB are not erased. Instead, it's kept for loop detection and measurement purpose, and will be erased by the straggler timer.<br></div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">If appB would respond to appA's Interest with the same Data, the same effect can be achieved by implementing "internal satisfying" feature mentioned above.</div><div style="font-size:12.8px">If appB would respond to appA's Interest with a different Data of same name, the protocol design is wrong because it violates <a href="http://named-data.net/project/ndn-design-principles/" target="_blank">Data immutability principle</a>. Instead, appB should create a Data with a higher version number, and appA can express another Interest that excludes its own version number in order to receive appB's Data.</div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">Yours, Junxiao</div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jun 28, 2016 at 10:04 AM, Lan Wang (lanwang) <span dir="ltr"><<a href="mailto:lanwang@memphis.edu" target="_blank">lanwang@memphis.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
I have a question about how to keep a PIT entry in a particular situation.  Suppose there are two nodes:<br>
<br>
a — b<br>
<br>
1) a and b both send the same interests (same name) to each other.<br>
2) a responds to b’s interest with a data packet.  In the current PIT implementation, it will remove both a and b's PIT entry for this interest.<br>
<br>
We hope that a’s data packet would not erase the PIT entry in a and b completely (only remove the necessary in and out records) so that b can still respond to a’s interest.<br>
<br>
This is inspired by a partialsync implementation issue.  Is there any way to achieve this result?<br>
<br>
Lan<br>
<br>
<br>
_______________________________________________<br>
Nfd-dev mailing list<br>
<a href="mailto:Nfd-dev@lists.cs.ucla.edu" target="_blank">Nfd-dev@lists.cs.ucla.edu</a><br>
<a href="http://www.lists.cs.ucla.edu/mailman/listinfo/nfd-dev" rel="noreferrer" target="_blank">http://www.lists.cs.ucla.edu/mailman/listinfo/nfd-dev</a><br>
</blockquote></div><br></div></div>