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
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
ndn-app-helper.cpp
Go to the documentation of this file.
1
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
20
#include "
ndn-app-helper.hpp
"
21
#include "ns3/log.h"
22
#include "ns3/string.h"
23
#include "ns3/names.h"
24
25
#include "
apps/ndn-app.hpp
"
26
27
#ifdef NS3_MPI
28
#include "ns3/mpi-interface.h"
29
#endif
30
31
NS_LOG_COMPONENT_DEFINE(
"ndn.AppHelper"
);
32
33
namespace
ns3 {
34
namespace
ndn {
35
36
AppHelper::AppHelper
(
const
std::string& app)
37
{
38
m_factory.SetTypeId(app);
39
}
40
41
void
42
AppHelper::SetPrefix
(
const
std::string& prefix)
43
{
44
m_factory.Set(
"Prefix"
, StringValue(prefix));
45
}
46
47
void
48
AppHelper::SetAttribute
(std::string name,
const
AttributeValue& value)
49
{
50
m_factory.Set(name, value);
51
}
52
53
ApplicationContainer
54
AppHelper::Install
(Ptr<Node> node)
55
{
56
ApplicationContainer apps;
57
Ptr<Application> app = InstallPriv(node);
58
if
(app != 0)
59
apps.Add(app);
60
61
return
apps;
62
}
63
64
ApplicationContainer
65
AppHelper::Install
(std::string nodeName)
66
{
67
Ptr<Node> node = Names::Find<Node>(nodeName);
68
return
Install
(node);
69
}
70
71
ApplicationContainer
72
AppHelper::Install
(NodeContainer c)
73
{
74
ApplicationContainer apps;
75
for
(NodeContainer::Iterator i = c.Begin(); i != c.End(); ++i) {
76
Ptr<Application> app = InstallPriv(*i);
77
if
(app != 0)
78
apps.Add(app);
79
}
80
81
return
apps;
82
}
83
84
Ptr<Application>
85
AppHelper::InstallPriv(Ptr<Node> node)
86
{
87
#ifdef NS3_MPI
88
if
(MpiInterface::IsEnabled() && node->GetSystemId() != MpiInterface::GetSystemId()) {
89
// don't create an app if MPI is enabled and node is not in the correct partition
90
return
0;
91
}
92
#endif
93
94
Ptr<Application> app = m_factory.Create<Application>();
95
node->AddApplication(app);
96
97
return
app;
98
}
99
100
}
// namespace ndn
101
}
// namespace ns3
ns3::ndn::AppHelper::SetAttribute
void SetAttribute(std::string name, const AttributeValue &value)
Helper function used to set the underlying application attributes.
Definition:
ndn-app-helper.cpp:48
ns3::ndn::AppHelper::AppHelper
AppHelper(const std::string &prefix)
Create an NdnAppHelper to make it easier to work with Ndn apps.
Definition:
ndn-app-helper.cpp:36
ndn-app-helper.hpp
ndn-app.hpp
ns3::ndn::AppHelper::Install
ApplicationContainer Install(NodeContainer c)
Install an ns3::NdnConsumer on each node of the input container configured with all the attributes se...
Definition:
ndn-app-helper.cpp:72
ns3::ndn::AppHelper::SetPrefix
void SetPrefix(const std::string &prefix)
Set the prefix consumer will be requesting.
Definition:
ndn-app-helper.cpp:42
ndnSIM
helper
ndn-app-helper.cpp
Generated on Wed Feb 18 2015 16:31:16 for ndnSIM by
1.8.7