guess-from-search-domains.cpp
Go to the documentation of this file.
1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
27 
28 namespace ndn {
29 namespace tools {
30 namespace autoconfig {
31 
32 GuessFromSearchDomains::GuessFromSearchDomains(Face& face, KeyChain& keyChain,
33  const NextStageCallback& nextStageOnFailure)
34  : BaseDns(face, keyChain, nextStageOnFailure)
35 {
36 }
37 
38 void
40 {
41  try {
42  std::string hubUri = BaseDns::querySrvRrSearch();
43  this->connectToHub(hubUri);
44  }
45  catch (const BaseDns::Error& e) {
46  m_nextStageOnFailure(std::string("Failed to find NDN router using default suffix DNS query (") +
47  e.what() + ")");
48  }
49 }
50 
51 } // namespace autoconfig
52 } // namespace tools
53 } // namespace ndn
Copyright (c) 2014-2016, Regents of the University of California, Arizona Board of Regents...
Definition: nfd.hpp:35
virtual void start() override
Start the stage.
NextStageCallback m_nextStageOnFailure
Definition: base.hpp:111
void connectToHub(const std::string &uri)
Attempt to connect to local hub using the uri FaceUri.
Definition: base.cpp:41
std::string querySrvRrSearch()
Send DNS SRV request using search domain list.
Definition: base-dns.cpp:80
GuessFromSearchDomains(Face &face, KeyChain &keyChain, const NextStageCallback &nextStageOnFailure)
Create stage to guess home router based on DNS query with default suffix.
std::function< void(const std::string &)> NextStageCallback
Callback to be called when the stage fails.
Definition: base.hpp:61
Base class for stages that use DNS-based guessing.
Definition: base-dns.hpp:38