NS-3 based Named Data Networking (NDN) simulator
ndnSIM 2.0: NDN, CCN, CCNx, content centric networks
API Documentation
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
ndn-scenario-helper.hpp
Go to the documentation of this file.
1
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
20
#ifndef NDNSIM_HELPER_NDN_SCENARIO_HELPER_HPP
21
#define NDNSIM_HELPER_NDN_SCENARIO_HELPER_HPP
22
23
#include "
ndn-stack-helper.hpp
"
24
25
#include "ns3/net-device.h"
26
#include "ns3/node.h"
27
28
#include <ndn-cxx/name.hpp>
29
#include <map>
30
31
namespace
ns3
{
32
namespace
ndn
{
33
63
class
ScenarioHelper
64
{
65
public
:
72
struct
RouteInfo
73
{
74
std::string
node1
;
75
std::string
node2
;
76
Name
prefix
;
77
int32_t
metric
;
78
};
79
80
/*
81
* @brief Application information for addApps method
82
*
83
* It is preferred to use initializer list to indirectly pass AppInfo's to addApps
84
* method.
85
*/
86
struct
AppInfo
87
{
88
std::string
node
;
89
std::string
name
;
90
std::initializer_list<std::pair<std::string, std::string>>
params
;
91
std::string
start
;
92
std::string
end
;
93
};
94
95
public
:
96
ScenarioHelper
();
97
110
void
111
createTopology
(std::initializer_list<std::initializer_list<std::string>
/*node clique*/
> topology);
112
124
void
125
addRoutes
(std::initializer_list<RouteInfo> routes);
126
142
void
143
addApps
(std::initializer_list<AppInfo> apps);
144
145
public
:
// topology accessors
150
Ptr<Node>
151
getNode
(
const
std::string& nodeName);
152
157
shared_ptr<Face>
158
getFace
(
const
std::string&
node1
,
const
std::string&
node2
);
159
163
void
164
disableRibManager
();
165
169
void
170
disableFaceManager
();
171
175
void
176
disableStrategyChoiceManager
();
177
181
void
182
disableStatusServer
();
183
184
private
:
185
Ptr<Node>
186
getOrCreateNode(
const
std::string& nodeName);
187
188
private
:
189
bool
m_isTopologyInitialized;
190
StackHelper
ndnHelper;
191
std::map<std::string, std::map<std::string, Ptr<NetDevice>>> links;
192
std::map<std::string, Ptr<Node>> nodes;
193
};
194
195
}
// namespace ndn
196
}
// namespace ns3
197
198
#endif // NDNSIM_HELPER_NDN_SCENARIO_HELPER_HPP
ns3::ndn::ScenarioHelper::AppInfo::start
std::string start
Definition:
ndn-scenario-helper.hpp:91
ns3::ndn::ScenarioHelper::RouteInfo::node1
std::string node1
Definition:
ndn-scenario-helper.hpp:74
ns3::ndn::ScenarioHelper::disableFaceManager
void disableFaceManager()
Disable Face Manager.
Definition:
ndn-scenario-helper.cpp:71
ndn
Copyright (c) 2011-2015 Regents of the University of California.
Definition:
ndn-strategy-choice-helper.hpp:34
ns3::ndn::ScenarioHelper::getNode
Ptr< Node > getNode(const std::string &nodeName)
Get node.
Definition:
ndn-scenario-helper.cpp:123
ns3::ndn::ScenarioHelper::disableRibManager
void disableRibManager()
Disable RIB Manager.
Definition:
ndn-scenario-helper.cpp:65
ns3::ndn::ScenarioHelper::AppInfo::end
std::string end
Definition:
ndn-scenario-helper.hpp:92
ns3::ndn::ScenarioHelper::RouteInfo::metric
int32_t metric
Definition:
ndn-scenario-helper.hpp:77
ns3::ndn::ScenarioHelper::ScenarioHelper
ScenarioHelper()
Definition:
ndn-scenario-helper.cpp:33
ns3::ndn::ScenarioHelper::getFace
shared_ptr< Face > getFace(const std::string &node1, const std::string &node2)
Get face on the node1 pointing towards node2.
Definition:
ndn-scenario-helper.cpp:134
ns3::ndn::ScenarioHelper::disableStatusServer
void disableStatusServer()
Disable Status Server.
Definition:
ndn-scenario-helper.cpp:83
ns3::ndn::Name
Name
Definition:
ndn-common.cpp:25
ns3::ndn::StackHelper
Helper class to install NDN stack and configure its parameters.
Definition:
ndn-stack-helper.hpp:51
ns3
Copyright (c) 2011-2015 Regents of the University of California.
Definition:
content-store-impl.cpp:38
ndn-stack-helper.hpp
ns3::ndn::ScenarioHelper::AppInfo::name
std::string name
Definition:
ndn-scenario-helper.hpp:89
ns3::ndn::ScenarioHelper::AppInfo::params
std::initializer_list< std::pair< std::string, std::string > > params
Definition:
ndn-scenario-helper.hpp:90
ns3::ndn::ScenarioHelper::createTopology
void createTopology(std::initializer_list< std::initializer_list< std::string >> topology)
Create topology.
Definition:
ndn-scenario-helper.cpp:39
ns3::ndn::ScenarioHelper::AppInfo::node
std::string node
Definition:
ndn-scenario-helper.hpp:88
ns3::ndn::ScenarioHelper::addRoutes
void addRoutes(std::initializer_list< RouteInfo > routes)
Create routes between topology nodes.
Definition:
ndn-scenario-helper.cpp:89
ns3::ndn::ScenarioHelper
Helper class to simplify writing basic simulation scenarios.
Definition:
ndn-scenario-helper.hpp:63
ns3::ndn::ScenarioHelper::RouteInfo::node2
std::string node2
Definition:
ndn-scenario-helper.hpp:75
ns3::ndn::ScenarioHelper::disableStrategyChoiceManager
void disableStrategyChoiceManager()
Disable Strategy Choice Manager.
Definition:
ndn-scenario-helper.cpp:77
ns3::ndn::ScenarioHelper::addApps
void addApps(std::initializer_list< AppInfo > apps)
Create and install application on nodes.
Definition:
ndn-scenario-helper.cpp:98
ns3::ndn::ScenarioHelper::AppInfo
Definition:
ndn-scenario-helper.hpp:86
ns3::ndn::ScenarioHelper::RouteInfo::prefix
Name prefix
Definition:
ndn-scenario-helper.hpp:76
ns3::ndn::ScenarioHelper::RouteInfo
Route information for addRoutes method.
Definition:
ndn-scenario-helper.hpp:72
ndnSIM
helper
ndn-scenario-helper.hpp
Generated on Tue Feb 23 2016 22:18:43 for ndnSIM by
1.8.11