Task #3446
closedNDNLPv2 support
Added by Alex Afanasyev almost 9 years ago. Updated over 8 years ago.
100%
Description
Implement NDNLPv2 support at least for:
- equivalent of LocalControlHeader
- NACK processing
Updated by Alex Afanasyev almost 9 years ago
- Blocks Task #3445: Deprecate/Remove LocalControlHeader added
Updated by Alex Afanasyev almost 9 years ago
- Priority changed from Normal to High
Updated by Jeff Burke almost 9 years ago
What language support would be most valuable to have first?
Updated by Alex Afanasyev almost 9 years ago
I think Java, as it is used by Andrew (I think his apps are effectively broken if upgraded to NFD 0.4.0)
Updated by Andrew Brown almost 9 years ago
We tried 0.4 but had some startup issues (a BerEncoding exception coming from libcryptopp?) so I can't confirm Alex's statement; I was under the impression, though, that NDNLP would just wrap the Interest or Data and clients would be able to safely ignore the exterior container?
Updated by Andrew Brown over 8 years ago
Andrew Brown wrote:
We tried 0.4 but had some startup issues (a BerEncoding exception coming from libcryptopp?) so I can't confirm Alex's statement; I was under the impression, though, that NDNLP would just wrap the Interest or Data and clients would be able to safely ignore the exterior container?
We fixed the BerEncoding issue.
Updated by Anonymous over 8 years ago
- Assignee set to Anonymous
Currently, expressInterest has the onData and onTimeout callbacks. To support network Nack, we need another callback. But instead of adding an onNack callback, I propose to add a more general onError callback which would include a network Nack as one kind of error. This would be useful on highly asynchronous platforms where the library cannot report a problem to the application using an exception (which doesn't work with an asynchronous call). The onError callback could also be used for a problem sending the interest due to a local connection drop.
Updated by Anonymous over 8 years ago
- Status changed from New to In Progress
- % Done changed from 0 to 50
In the NDNLPv2 branch of jNDN and NDN-JS, added the NetworkNack object and added support for OnNetworkNack to expressInterest. When decoding an incoming packet, decode an LpPacket and set it in the Interest or Data so that the application can call getIncomingFaceId.
Updated by Andrew Brown over 8 years ago
Question: can I get an example of how someone/anyone has used the different NACK codes to alter the flow of their application? I am looking at https://github.com/named-data/jndn/commit/f0a50c635afe0cbd27cc84e188b582eb7e457b9b#diff-e12e36065baf92aa80b384cbfb3eef02R35 and was interested in finding out the different actions others are taking: obviously log, wait and re-send for congestion, fail and throw for no route, ___ for duplicate?
Updated by Anonymous over 8 years ago
Hi Andrew. Can you send the question to nfd-dev? I think it is general enough and will get more attention.
Updated by Anonymous over 8 years ago
- Status changed from In Progress to Resolved
- % Done changed from 50 to 100
The changes are merged to the master branch in all libraries.
Updated by Anonymous over 8 years ago
- Status changed from Resolved to Closed
The CCL API page is updated:
http://named-data.net/doc/ndn-ccl-api/face.html#face-expressinterest-methods