ndn::tools::autoconfig::GuessFromIdentityName Class Reference

Guessing home router based on the default identity name. More...

#include <tools/ndn-autoconfig/guess-from-identity-name.hpp>

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

Public Member Functions

 GuessFromIdentityName (KeyChain &keyChain)
 
const std::string & getName () const override
 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

Guessing home router based on the default identity name.

This stage assumes that user has configured default certificate using http://ndncert.named-data.net/

  • Request

    The end host loads the default user identity (eg. /ndn/edu/ucla/cs/afanasev), and converts it to DNS format.

    The end host sends a DNS query for an SRV record of name _ndn._udp. + user identity in DNS format + _homehub._auto-conf.named-data.net. For example:

    _ndn._udp.afanasev.cs.ucla.edu.ndn._homehub._autoconf.named-data.net
    
  • Response

    The DNS server should answer with an SRV record that contains the hostname and UDP port number of the home NDN router of this user's site.

Definition at line 57 of file guess-from-identity-name.hpp.

Constructor & Destructor Documentation

ndn::tools::autoconfig::GuessFromIdentityName::GuessFromIdentityName ( KeyChain &  keyChain)
explicit

Definition at line 38 of file guess-from-identity-name.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::GuessFromIdentityName::getName ( ) const
inlineoverridevirtual

get stage name

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

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

Definition at line 64 of file guess-from-identity-name.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.