ndn::tools::autoconfig::MulticastDiscovery Class Reference

multicast discovery stage More...

#include <tools/ndn-autoconfig/multicast-discovery.hpp>

+ Inheritance diagram for ndn::tools::autoconfig::MulticastDiscovery:
+ Collaboration diagram for ndn::tools::autoconfig::MulticastDiscovery:

Public Member Functions

 MulticastDiscovery (Face &face, nfd::Controller &controller)
 
const std::string & getName () const final
 get stage name More...
 
void start ()
 start running this stage More...
 

Public Attributes

util::Signal< Stage, std::string > onFailure
 signal when discovery fails More...
 
util::Signal< Stage, FaceUri > onSuccess
 signal when a HUB FaceUri is found More...
 

Protected Member Functions

void fail (const std::string &msg)
 
void provideHubFaceUri (const std::string &s)
 parse HUB FaceUri from string and declare success More...
 
void succeed (const FaceUri &hubFaceUri)
 

Detailed Description

multicast discovery stage

This stage locates an NDN gateway router, commonly known as a "hub", in the local network by sending a hub discovery Interest ndn:/localhop/ndn-autoconf/hub via multicast. This class configures routes and strategy on local NFD, so that this Interest is multicast to all multi-access faces.

If an NDN gateway router is present in the local network, it should reply with a Data containing its own FaceUri. The Data payload contains a Uri element, and the value of this element is an ASCII-encoded string of the router's FaceUri. The router may use ndn-autoconfig-server program to serve this Data.

Signature on this Data is currently not verified. This stage succeeds when the Data is successfully decoded.

Definition at line 53 of file multicast-discovery.hpp.

Constructor & Destructor Documentation

ndn::tools::autoconfig::MulticastDiscovery::MulticastDiscovery ( Face &  face,
nfd::Controller &  controller 
)

Definition at line 42 of file multicast-discovery.cpp.

Member Function Documentation

void ndn::tools::autoconfig::Stage::fail ( const std::string &  msg)
protectedinherited

Definition at line 65 of file stage.cpp.

const std::string& ndn::tools::autoconfig::MulticastDiscovery::getName ( ) const
inlinefinalvirtual

get stage name

Returns
stage name as a phrase, typically starting with lower case

Implements ndn::tools::autoconfig::Stage.

Definition at line 59 of file multicast-discovery.hpp.

void ndn::tools::autoconfig::Stage::provideHubFaceUri ( const std::string &  s)
protectedinherited

parse HUB FaceUri from string and declare success

Definition at line 45 of file stage.cpp.

void ndn::tools::autoconfig::Stage::start ( )
inherited

start running this stage

Exceptions
Errorstage is already running

Definition at line 33 of file stage.cpp.

void ndn::tools::autoconfig::Stage::succeed ( const FaceUri &  hubFaceUri)
protectedinherited

Definition at line 57 of file stage.cpp.

Member Data Documentation

util::Signal<Stage, std::string> ndn::tools::autoconfig::Stage::onFailure
inherited

signal when discovery fails

Argument is error message.

Definition at line 96 of file stage.hpp.

util::Signal<Stage, FaceUri> ndn::tools::autoconfig::Stage::onSuccess
inherited

signal when a HUB FaceUri is found

Argument is HUB FaceUri, may not be canonical.

Definition at line 90 of file stage.hpp.