Task #1150
closed
Universal NFD FIB Management protocol support
Added by Junxiao Shi almost 11 years ago.
Updated over 10 years ago.
Description
ndn-cpp-dev should support both ndnd-tlv and NFD protocols.
ndn::Node::registerPrefix
should use NFD FIB Management protocol to register a prefix, if the local forwarder is NFD.
To detect local forwarder, library could:
- Express Interest to retrieve ndndid
- If this Interest is answered, local forwarder is ndnd-tlv
- Otherwise, local forwarder is nfd
- Description updated (diff)
- Tracker changed from Feature to Task
Notice: there is a change in "NFD FIB Management Protocol" on 20140129.
- Project changed from 4 to ndn-cxx
- Target version deleted (
dev)
- Status changed from New to Closed
- Subject changed from NFD FIB Management protocol support to Universal NFD FIB Management protocol support
- Description updated (diff)
- Status changed from Closed to New
- Status changed from New to Code review
- Assignee set to Alex Afanasyev
- % Done changed from 0 to 100
I have implemented support for NFD FIB management protocol. It is not exactly a "universal" approach, but it is possible during face creation process to specify boolean flag to indicate that NFD protocol should be used. This should technically work now (after code review):
# must use "TcpTransport" for now, until NFD supports UnixStreamFace
Face face("localhost", "6363", true);
face.setInterestFilter("/hello/world", &onInterest, &onFailure);
void
onInterest(const Name& filter, const Interest& interest)
{
std::cout << interest.getName() << std::endl;
}
void
onFailure(const Name& filter, const std::string& reason)
{
std::cerr << "ERROR: " << reason << std::endl;
}
This approach is not desirable, because it puts a burden on app: the app must provide an option (either at compile time or runtime) to pick the local daemon.
One alternate is: Node constructor reads from an environment variable to decide which transport and protocol to use. libccn has such a feature.
We do not have an objective of writing universal apps, so I don't see a "burden". I will remove support of ndnd-tlv as soon as possible.
- Status changed from Code review to Closed
Also available in: Atom
PDF