nlsr-runner.cpp
Go to the documentation of this file.
1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2 /*
3  * Copyright (c) 2014-2019, The University of Memphis,
4  * Regents of the University of California,
5  * Arizona Board of Regents.
6  *
7  * This file is part of NLSR (Named-data Link State Routing).
8  * See AUTHORS.md for complete list of NLSR authors and contributors.
9  *
10  * NLSR is free software: you can redistribute it and/or modify it under the terms
11  * of the GNU General Public License as published by the Free Software Foundation,
12  * either version 3 of the License, or (at your option) any later version.
13  *
14  * NLSR is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
15  * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
16  * PURPOSE. See the GNU General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License along with
19  * NLSR, e.g., in COPYING.md file. If not, see <http://www.gnu.org/licenses/>.
20  **/
21 
22 #include "nlsr-runner.hpp"
23 
24 namespace nlsr {
25 
26 NlsrRunner::NlsrRunner(ndn::Face& face, ConfParameter& confParam)
27  : m_face(face)
28  , m_confParam(confParam)
29  , m_nlsr(m_face, m_keyChain, m_confParam)
30 {
31 }
32 
33 void
35 {
36  m_nlsr.initialize();
37 
38  try {
39  m_face.processEvents();
40  }
41  catch (...) {
42  m_nlsr.getFib().clean();
43  throw;
44  }
45 }
46 
47 } // namespace nlsr
A class to house all the configuration parameters for NLSR.
void initialize()
Definition: nlsr.cpp:195
void clean()
Remove all entries from the FIB.
Definition: fib.cpp:164
Copyright (c) 2014-2018, The University of Memphis, Regents of the University of California, Arizona Board of Regents.
void run()
Instantiate, configure, and start the NLSR process.
Definition: nlsr-runner.cpp:34
NlsrRunner(ndn::Face &face, ConfParameter &confParam)
Definition: nlsr-runner.cpp:26
Fib & getFib()
Definition: nlsr.hpp:106