20 #ifndef NDNSIM_HELPER_NDN_STACK_HELPER_HPP 21 #define NDNSIM_HELPER_NDN_STACK_HELPER_HPP 23 #include "ns3/ndnSIM/model/ndn-common.hpp" 26 #include "ns3/object-factory.h" 28 #include "ns3/node-container.h" 71 SetStackAttributes(
const std::string& attr1 =
"",
const std::string& value1 =
"",
72 const std::string& attr2 =
"",
const std::string& value2 =
"",
73 const std::string& attr3 =
"",
const std::string& value3 =
"",
74 const std::string& attr4 =
"",
const std::string& value4 =
"");
80 setCsSize(
size_t maxSize);
86 setPolicy(
const std::string& policy);
88 typedef Callback<shared_ptr<Face>, Ptr<Node>, Ptr<L3Protocol>, Ptr<NetDevice>>
133 Install(
const std::string& nodeName)
const;
147 Install(Ptr<Node> node)
const;
162 Install(
const NodeContainer& c)
const;
177 SetDefaultRoutes(
bool needSet);
188 Update(Ptr<Node> node);
196 Update(
const NodeContainer& c);
204 Update(
const std::string& nodeName);
216 disableStrategyChoiceManager();
222 disableForwarderStatusManager();
228 SetLinkDelayAsFaceMetric();
231 ProcessWarmupEvents();
235 doInstall(Ptr<Node> node)
const;
239 DefaultNetDeviceCallback(Ptr<Node> node, Ptr<L3Protocol>
ndn, Ptr<NetDevice> netDevice)
const;
242 PointToPointNetDeviceCallback(Ptr<Node> node, Ptr<L3Protocol>
ndn,
243 Ptr<NetDevice> netDevice)
const;
245 createAndRegisterFace(Ptr<Node> node, Ptr<L3Protocol>
ndn, Ptr<NetDevice> device)
const;
247 bool m_isForwarderStatusManagerDisabled;
248 bool m_isStrategyChoiceManagerDisabled;
252 setCustomNdnCxxClocks();
255 ObjectFactory m_ndnFactory;
257 bool m_needSetDefaultRoutes;
258 size_t m_maxCsSize = 100;
260 typedef std::function<std::unique_ptr<nfd::cs::Policy>()> PolicyCreationCallback;
261 PolicyCreationCallback m_csPolicyCreationFunc;
263 std::map<std::string, PolicyCreationCallback> m_csPolicies;
265 typedef std::list<std::pair<TypeId, FaceCreateCallback>> NetDeviceCallbackList;
266 NetDeviceCallbackList m_netDeviceCallbacks;
272 #endif // NDNSIM_HELPER_NDN_STACK_HELPER_HPP Copyright (c) 2011-2015 Regents of the University of California.
Copyright (c) 2011-2015 Regents of the University of California.
Callback< shared_ptr< Face >, Ptr< Node >, Ptr< L3Protocol >, Ptr< NetDevice > > FaceCreateCallback
Helper class to install NDN stack and configure its parameters.
Copyright (c) 2011-2015 Regents of the University of California.
ndn L3Protocol
Copyright (c) 2011-2015 Regents of the University of California.
ndn StackHelper
Copyright (c) 2011-2015 Regents of the University of California.