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

◆ MulticastDiscovery()

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

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

Member Function Documentation

◆ fail()

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

Definition at line 65 of file stage.cpp.

◆ getName()

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

get stage name

stage name as a phrase, typically starting with lower case

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

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

◆ provideHubFaceUri()

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

parse HUB FaceUri from string and declare success

Definition at line 45 of file stage.cpp.

◆ start()

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

start running this stage

Errorstage is already running

Definition at line 33 of file stage.cpp.

◆ succeed()

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

Definition at line 57 of file stage.cpp.

Member Data Documentation

◆ onFailure

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

signal when discovery fails

Argument is error message.

Definition at line 96 of file stage.hpp.

◆ onSuccess

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

signal when a HUB FaceUri is found

Argument is HUB FaceUri, may not be canonical.

Definition at line 90 of file stage.hpp.