NS-3 based Named Data Networking (NDN) simulator
ndnSIM 2.3: NDN, CCN, CCNx, content centric networks
API Documentation
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
ndnSIM
ndnSIM documentation
All Attributes
All GlobalValues
All LogComponents
All TraceSources
Todo List
Deprecated List
Modules
Namespaces
Classes
Files
File List
File Members
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Modules
Pages
nfd.hpp
Go to the documentation of this file.
1
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2
/*
3
* Copyright (c) 2014-2017, Regents of the University of California,
4
* Arizona Board of Regents,
5
* Colorado State University,
6
* University Pierre & Marie Curie, Sorbonne University,
7
* Washington University in St. Louis,
8
* Beijing Institute of Technology,
9
* The University of Memphis.
10
*
11
* This file is part of NFD (Named Data Networking Forwarding Daemon).
12
* See AUTHORS.md for complete list of NFD authors and contributors.
13
*
14
* NFD is free software: you can redistribute it and/or modify it under the terms
15
* of the GNU General Public License as published by the Free Software Foundation,
16
* either version 3 of the License, or (at your option) any later version.
17
*
18
* NFD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
19
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
20
* PURPOSE. See the GNU General Public License for more details.
21
*
22
* You should have received a copy of the GNU General Public License along with
23
* NFD, e.g., in COPYING.md file. If not, see <http://www.gnu.org/licenses/>.
24
*/
25
26
#ifndef NFD_DAEMON_NFD_HPP
27
#define NFD_DAEMON_NFD_HPP
28
29
#include "
core/config-file.hpp
"
30
#include "
core/scheduler.hpp
"
31
32
#include <ndn-cxx/net/network-monitor.hpp>
33
#include <ndn-cxx/security/key-chain.hpp>
34
35
namespace
ndn
{
36
class
Face
;
37
namespace
mgmt {
38
class
Dispatcher
;
39
}
// namespace mgmt
40
}
// namespace ndn
41
42
namespace
nfd
{
43
44
class
Forwarder
;
45
class
CommandAuthenticator
;
46
class
FibManager
;
47
class
FaceManager
;
48
class
StrategyChoiceManager
;
49
class
ForwarderStatusManager;
50
51
namespace
face
{
52
class
Face
;
53
class
FaceSystem
;
54
}
// namespace face
55
60
class
Nfd
: noncopyable
61
{
62
public
:
66
Nfd
(
const
std::string& configFile,
ndn::KeyChain
& keyChain);
67
75
Nfd
(
const
ConfigSection
&
config
,
ndn::KeyChain
& keyChain);
76
80
~
Nfd
();
81
86
void
87
initialize();
88
92
void
93
reloadConfigFile();
94
95
private
:
96
explicit
97
Nfd
(
ndn::KeyChain
& keyChain);
98
99
void
100
initializeLogging();
101
102
void
103
initializeManagement();
104
105
void
106
reloadConfigFileFaceSection();
107
108
private
:
109
std::string m_configFile;
110
ConfigSection
m_configSection;
111
112
unique_ptr<Forwarder> m_forwarder;
113
unique_ptr<face::FaceSystem> m_faceSystem;
114
115
ndn::KeyChain
& m_keyChain;
116
shared_ptr<face::Face> m_internalFace;
117
shared_ptr<ndn::Face> m_internalClientFace;
118
unique_ptr<ndn::mgmt::Dispatcher> m_dispatcher;
119
shared_ptr<CommandAuthenticator> m_authenticator;
120
unique_ptr<ForwarderStatusManager> m_forwarderStatusManager;
121
unique_ptr<FaceManager> m_faceManager;
122
unique_ptr<FibManager> m_fibManager;
123
unique_ptr<StrategyChoiceManager> m_strategyChoiceManager;
124
125
shared_ptr<ndn::net::NetworkMonitor> m_netmon;
126
scheduler::ScopedEventId
m_reloadConfigEvent;
127
};
128
129
}
// namespace nfd
130
131
#endif // NFD_DAEMON_NFD_HPP
ndn
Copyright (c) 2011-2015 Regents of the University of California.
Definition:
ndn-strategy-choice-helper.hpp:34
nfd::CommandAuthenticator
CommandAuthenticator
Definition:
command-authenticator.cpp:44
nfd::StrategyChoiceManager
StrategyChoiceManager
Definition:
strategy-choice-manager.cpp:33
ndn::mgmt::Dispatcher
represents a dispatcher on server side of NFD Management protocol
Definition:
dispatcher.hpp:129
nfd::face::FaceSystem
FaceSystem
Definition:
face-system.cpp:34
nfd::FibManager
FibManager
Definition:
fib-manager.cpp:36
nfd::FaceManager
FaceManager
Definition:
face-manager.cpp:36
config-file.hpp
Face
ndn Face
Definition:
face-impl.hpp:41
nfd::Nfd
Class representing NFD instance This class can be used to initialize all components of NFD...
Definition:
nfd.hpp:60
nfd
Copyright (c) 2011-2015 Regents of the University of California.
Definition:
ndn-common.hpp:40
nfd::Nfd
Nfd
Definition:
nfd.cpp:45
ndn::Face
Provide a communication channel with local or remote NDN forwarder.
Definition:
face.hpp:95
nfd::scheduler::ScopedEventId
cancels an event automatically upon destruction
Definition:
scheduler.hpp:59
face
nfd::ConfigSection
boost::property_tree::ptree ConfigSection
a config file section
Definition:
ndn-l3-protocol.hpp:38
nfd::Forwarder
Forwarder
Definition:
forwarder.cpp:38
scheduler.hpp
config
Definition:
permessage_deflate.cpp:42
ndn::security::v2::KeyChain
ndn security v2 KeyChain
Definition:
key-chain.cpp:76
ndnSIM
NFD
daemon
nfd.hpp
Generated on Thu Nov 2 2017 03:30:29 for ndnSIM by
1.8.11