Task #2429
closedImplement partial nfdc equivalent using jNDN
0%
Description
The control app should send commands directly using Interest/Data exchange. Therefore, we need jNDN equivalent of some nfdc functionality
FaceUri canonization
Support to
- register
- unregister
- create
- destroy
- unset-strategy
For details refer to http://named-data.net/doc/NFD/current/manpages/nfdc.html
This either should be a helper Java class, or if jNDN already provides functions to do that, there should be documentation on how to use it.
Files
Updated by Sanjev Mehrotra almost 10 years ago
Basic class design to be used by NDNManager in building the command to be executed . These classes will wrap the command and invoke inetest/data exechange using jndn classes via a wrapper.
I am thinking of using jNDN jar as a library in NDNMAnager.
Updated by Alex Afanasyev almost 10 years ago
You should use jNDN library.
However. I don't quite like the design. For the control, you should create a separate class that is similar to nfdc itself (NFD/tools/nfdc.hpp
). Probably, the easiest would be to just duplicate the implemented design (we had a few iteration on that).
For the status I suggest similar, but not exactly the same thing. Status is basically retrieves a few datasets. You need to implement equivalent of SegmentFetcher (ndn-cxx/src/util/segment-fetcher.hpp
) and necessary data structures. Then the Status class (do not combine unrelated things together) should provide interfaces to get status datasets (ForwarerStatus, List, List, List, ...). You should list of items that already exist in jNDN and ones that need to be implemented. Some things will go to jNDN library after implemented.
Updated by Sanjev Mehrotra almost 10 years ago
- File nfd-cd.png nfd-cd.png added
Find attached the class diagram for FaceIdFatcher,NFDC (made is final to reflect that these classes will be made final in java),SegmentFetcher,Controller.
These are all new classes will belong to NDNManager and some classes(FaceIdFatcher,NFDC) can be pushed to jNDN under a separate package (ndn-cxx)
The status class will the place holder for all the attributes to be shown in preference settings.(mainly the lookup values for FaceUrl, Target Url)
Question is what parts will be loaded as wrapper(for .so files) and what all code can be called via jNDN classes.
IS the jni framwwork going to invoke ndnxcc controller or this will all be done as pure java code in jNDN or a separate ndn-cxx moduel itself.
Please clearify.
I will continue to work on activity diagram to show the flow as I wait for inputs on above.
Updated by Sanjev Mehrotra almost 10 years ago
- File nfd-cd2.png nfd-cd2.png added
If found following classes to go in jndn for FaceUri , Address, TCPEndpoint ,UDPEndpoint, localStreamProtocol
Alex please is it safe to use TCPTransport and UDPTrancport classes from jNDND for TCPEndpoint and UDPEndpoint. If yes then only locaclStreamProtocol needs to be taken care of.
Updated by Andrew Brown almost 10 years ago
FYI, I am working on trying to open source the jndn-management library I sent to Sanjev. It's missing a few of the methods from above (the negative ones: unregister, destroy, unset-strategy) but if we add those it should fit what you're looking for. I should have a decision to open source by 17 February; if approved, I plan on hosting the code on GitHub under MIT. Thoughts?
Updated by Alex Afanasyev over 9 years ago
- Project changed from ndn-embedded to NFD-android
- Category deleted (
Android)
Updated by Sanjev Mehrotra over 9 years ago
Class diagram vpp file.
Updated by Alex Afanasyev over 9 years ago
(Duplicate of gerrit comment)
I compiled the code in patchset 18, but I failed to do anything meaningful with it.
The provided interface is not what I would like to see. For faces and routes it should resemble wifi connection interface:
settings activity has groups similar to the one that exist now
Face group gives a list of currently configured faces with an option to remove any of them
At the end of face group there is an "Add" option which opens FaceAdd activity or a "popup" to enter FaceUri
If needed, face group can be implemented as a separate activity.
Similar for other controls. The most important now is registered prefixes (implies working Face create/destroy). Strategies is important, but second-order.
Updated by Sanjev Mehrotra over 9 years ago
- Status changed from New to Code review
- % Done changed from 20 to 80
Updated by Alex Afanasyev over 9 years ago
- Status changed from Code review to Abandoned
- % Done changed from 80 to 0
This task no longer relevant, as we rely on jndn-management library (https://github.com/01org/jndn-management)