<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
<div class="">Hi Alex,</div>
<div class=""><br class="">
</div>
The face is created in pretty standard way - <a href="https://github.com/named-data/ndn-opt/blob/master/publisher/src/ros2ndn_converter/src/ndn_controller.cpp#L29" class="">here is the code</a>. JeffT’s NDN-CPP library uses TcpTransport to connect to local
 NFD.
<div class="">When we noticed that consumer is not getting any data, but producer is alive and no exceptions were thrown (like socket destroyed or similar), we checked nfd-status output and discovered that there is no face with producer’s prefix anymore.</div>
<div class=""><br class="">
</div>
<div class="">The only fact that producer was running for some lengthy time (20-30 minutes) and no interests were issued for its’ data during this period made us think it might be “on-demand” faces’ problem...</div>
<div class=""><br class="">
<div apple-content-edited="true" class="">
<div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
<div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
<div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
<div style="color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
Thanks, </div>
<div style="color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
<br class="">
</div>
<div style="color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
-- <br class="">
Peter Gusev</div>
<div style="color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
Programmer/Analyst @ REMAP, UCLA</div>
<div style="color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
<br class="">
<a href="mailto:peter@remap.ucla.edu" class="">peter@remap.ucla.edu</a><br class="">
+1 213 5872748<br class="">
peetonn_ (skype)</div>
</div>
</div>
</div>
</div>
<br class="">
<div>
<blockquote type="cite" class="">
<div class="">On Mar 13, 2015, at 4:31 PM, Burke, Jeff <<a href="mailto:jburke@remap.ucla.edu" class="">jburke@remap.ucla.edu</a>> wrote:</div>
<br class="Apple-interchange-newline">
<div class="">
<div class="" style="word-wrap:break-word"><span style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 11pt;" class="">Thanks, Alex. Peter, can you explain where you were seeing this? I thought it was with an app face, not udp...<br class="">
<br class="">
<span style="" class="">-----Original Message----- <br class="">
<b class="">From:</b> Alex Afanasyev [<a href="mailto:alexander.afanasyev@ucla.edu" class="">alexander.afanasyev@ucla.edu</a>]<br class="">
<b class="">Received:</b> Friday, 13 Mar 2015, 4:25PM<br class="">
<b class="">To:</b> Burke, Jeff [<a href="mailto:jburke@remap.ucla.edu" class="">jburke@remap.ucla.edu</a>]<br class="">
<b class="">CC:</b> <a href="mailto:nfd-dev@lists.cs.ucla.edu" class="">nfd-dev@lists.cs.ucla.edu</a> [<a href="mailto:nfd-dev@lists.cs.ucla.edu" class="">nfd-dev@lists.cs.ucla.edu</a>]<br class="">
<b class="">Subject:</b> Re: [Nfd-dev] Behavior of "on demand" faces to applications<br class="">
<br class="">
</span></span>
<div class=""><br class="">
<div class="">
<blockquote type="cite" class="">
<div class="">On Mar 13, 2015, at 4:13 PM, Burke, Jeff <<a href="mailto:jburke@remap.UCLA.EDU" class="">jburke@remap.UCLA.EDU</a>> wrote:</div>
<br class="Apple-interchange-newline">
<div class="">
<div class="" style="word-wrap:break-word; font-size:14px; font-family:Calibri,sans-serif">
<span id="OLK_SRC_BODY_SECTION" class="">
<div class="" style="word-wrap:break-word; font-size:14px; font-family:Calibri,sans-serif">
<div class=""><br class="">
</div>
<div class="">Hi folks,</div>
<div class=""><br class="">
</div>
<div class="">Could you please confirm the default behavior of "on-demand" face creation for applications?</div>
<div class=""><br class="">
</div>
<div class="">My understanding:  The face created by default when an application registers a prefix is "on demand", meaning it can be destroyed by NFD if inactive for some timeout period.</div>
</div>
</span></div>
</div>
</blockquote>
<div class=""><br class="">
</div>
Not exactly (may be I misunderstood the question).  Whenever face is created by an explicit command, it is “persistent” (we also reserved concept “permanent”, but it is not yet implemented).</div>
<div class=""><br class="">
</div>
<div class="">On-demand face is face that is created as a response of incoming tcp connect or packet received on UDP face.  Only UDP face can get destroyed, TCP faces exist for as long tcp connection is alive.</div>
<div class=""><br class="">
</div>
<div class="">* * *</div>
<div class=""><br class="">
</div>
<div class="">If you’re referring to the UDP face from the the other side of tunnel, then yes.  That face is on-demand and can be destroyed on the other side if no traffic.</div>
<div class=""><br class="">
</div>
<div class="">Remote registration built in into NFD/RIB management can take care of proper refreshing state.  This is currently implemented, but requires some conventions on registered namespaces / available keys (it is documented in TR Yanbiao is working).</div>
<div class=""><br class="">
<blockquote type="cite" class="">
<div class="">
<div class="" style="word-wrap:break-word; font-size:14px; font-family:Calibri,sans-serif">
<span id="OLK_SRC_BODY_SECTION" class="">
<div class="" style="word-wrap:break-word; font-size:14px; font-family:Calibri,sans-serif">
<div class=""></div>
<div class="">This behavior has caused some troubleshooting challenges with a long-running publisher and occasionally interested consumers. </div>
</div>
</span></div>
</div>
</blockquote>
<blockquote type="cite" class="">
<div class="">
<div class="" style="word-wrap:break-word; font-size:14px; font-family:Calibri,sans-serif">
<span id="OLK_SRC_BODY_SECTION" class="">
<div class="" style="word-wrap:break-word; font-size:14px; font-family:Calibri,sans-serif">
<div class=""><br class="">
</div>
<div class="">Some questions:</div>
<div class=""><br class="">
</div>
<div class="">- Where is this behavior documented? It is mentioned in p10 of the developer's guide, but I can't find either the constant or configuration parameter that sets it. </div>
</div>
</span></div>
</div>
</blockquote>
<div class=""><br class="">
</div>
<div class="">Some documentation regarding default values used is also available in nfd.conf.sample.</div>
<br class="">
<blockquote type="cite" class="">
<div class="">
<div class="" style="word-wrap:break-word; font-size:14px; font-family:Calibri,sans-serif">
<span id="OLK_SRC_BODY_SECTION" class="">
<div class="" style="word-wrap:break-word; font-size:14px; font-family:Calibri,sans-serif">
<div class=""><br class="">
</div>
<div class="">- Is it the case that on-demand faces will not be destroyed if any traffic has traversed them?  Or just that no traffic has traversed during the timeout interval? </div>
</div>
</span></div>
</div>
</blockquote>
<div class=""><br class="">
</div>
<div class="">Not sure I understood the question.  on-demand udp face will not be destroyed if at least one packet (data/interest) is received during the timeout interval.</div>
<br class="">
<blockquote type="cite" class="">
<div class="">
<div class="" style="word-wrap:break-word; font-size:14px; font-family:Calibri,sans-serif">
<span id="OLK_SRC_BODY_SECTION" class="">
<div class="" style="word-wrap:break-word; font-size:14px; font-family:Calibri,sans-serif">
<div class=""><br class="">
</div>
<div class="">- What is the appropriate way to create a face that persists until the process that created it is either destroyed or unregistered the prefix?   </div>
</div>
</span></div>
</div>
</blockquote>
<div class=""><br class="">
</div>
<div class="">Rely on remote registration process (I would say this is preferred).  Alternatively, this could be something else that periodically send interest towards the remote end.</div>
<br class="">
<blockquote type="cite" class="">
<div class="">
<div class="" style="word-wrap:break-word; font-size:14px; font-family:Calibri,sans-serif">
<span id="OLK_SRC_BODY_SECTION" class="">
<div class="" style="word-wrap:break-word; font-size:14px; font-family:Calibri,sans-serif">
<div class=""><br class="">
</div>
<div class="">Thank you,</div>
<div class="">Jeff</div>
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
</div>
</span></div>
_______________________________________________<br class="">
Nfd-dev mailing list<br class="">
<a href="mailto:Nfd-dev@lists.cs.ucla.edu" class="">Nfd-dev@lists.cs.ucla.edu</a><br class="">
<a href="http://www.lists.cs.ucla.edu/mailman/listinfo/nfd-dev" class="">http://www.lists.cs.ucla.edu/mailman/listinfo/nfd-dev</a><br class="">
</div>
</blockquote>
</div>
<br class="">
</div>
</div>
</div>
</blockquote>
</div>
<br class="">
</div>
</body>
</html>