Helper class to install NDN stack and configure its parameters. More...
#include <ndn-stack-helper.hpp>
Public Types | |
typedef Callback< shared_ptr< Face >, Ptr< Node >, Ptr< L3Protocol >, Ptr< NetDevice > > | FaceCreateCallback |
Public Member Functions | |
StackHelper () | |
Create a new NdnStackHelper with a default NDN_FLOODING forwarding stategy. More... | |
virtual | ~StackHelper () |
Destroy the NdnStackHelper. More... | |
void | SetStackAttributes (const std::string &attr1="", const std::string &value1="", const std::string &attr2="", const std::string &value2="", const std::string &attr3="", const std::string &value3="", const std::string &attr4="", const std::string &value4="") |
Set parameters of NdnL3Protocol. More... | |
void | setCsSize (size_t maxSize) |
Set maximum size for NFD's Content Store (in number of packets) More... | |
void | setPolicy (const std::string &policy) |
Set the cache replacement policy for NFD's Content Store. More... | |
void | SetOldContentStore (const std::string &contentStoreClass, const std::string &attr1="", const std::string &value1="", const std::string &attr2="", const std::string &value2="", const std::string &attr3="", const std::string &value3="", const std::string &attr4="", const std::string &value4="") |
Set ndnSIM 1.0 content store implementation and its attributes. More... | |
void | AddFaceCreateCallback (TypeId netDeviceType, FaceCreateCallback callback) |
Add callback to create and configure instance of the face, based on supplied Ptr<Node> and Ptr<NetDevice> More... | |
void | UpdateFaceCreateCallback (TypeId netDeviceType, FaceCreateCallback callback) |
Update callback to create and configure instance of the face, based on supplied Ptr<Node> and Ptr<NetDevice> More... | |
void | RemoveFaceCreateCallback (TypeId netDeviceType, FaceCreateCallback callback) |
Remove callback to create and configure instance of the face, based on supplied Ptr<Node> and Ptr<NetDevice> More... | |
void | Install (const std::string &nodeName) const |
Install Ndn stack on the node. More... | |
void | Install (Ptr< Node > node) const |
Install Ndn stack on the node. More... | |
void | Install (const NodeContainer &c) const |
Install Ndn stack on each node in the input container. More... | |
void | InstallAll () const |
Install Ndn stack on all nodes in the simulation. More... | |
void | SetDefaultRoutes (bool needSet) |
Set flag indicating necessity to install default routes in FIB. More... | |
void | Update (Ptr< Node > node) |
Update Ndn stack on a given node (Add faces for new devices) More... | |
void | Update (const NodeContainer &c) |
Update Ndn stack on given nodes (Add faces for new devices) More... | |
void | Update (const std::string &nodeName) |
Update Ndn stack on a given node name (Add faces for new devices) More... | |
void | UpdateAll () |
Update Ndn stack on all the nodes (Add faces for new devices) More... | |
void | disableStrategyChoiceManager () |
Disable Strategy Choice Manager. More... | |
void | disableForwarderStatusManager () |
Disable Forwarder Status Manager. More... | |
void | setCustomNdnCxxClocks () |
Static Public Member Functions | |
static KeyChain & | getKeyChain () |
static void | SetLinkDelayAsFaceMetric () |
Set face metric of all faces connected through PointToPoint channel to channel latency. More... | |
static void | ProcessWarmupEvents () |
Helper class to install NDN stack and configure its parameters.
Definition at line 55 of file ndn-stack-helper.hpp.
typedef Callback<shared_ptr<Face>, Ptr<Node>, Ptr<L3Protocol>, Ptr<NetDevice> > ns3::ndn::StackHelper::FaceCreateCallback |
Definition at line 102 of file ndn-stack-helper.hpp.
ns3::ndn::StackHelper::StackHelper | ( | ) |
Create a new NdnStackHelper with a default NDN_FLOODING forwarding stategy.
Definition at line 53 of file ndn-stack-helper.cpp.
References setCustomNdnCxxClocks().
|
virtual |
Destroy the NdnStackHelper.
Definition at line 75 of file ndn-stack-helper.cpp.
void ns3::ndn::StackHelper::SetStackAttributes | ( | const std::string & | attr1 = "" , |
const std::string & | value1 = "" , |
||
const std::string & | attr2 = "" , |
||
const std::string & | value2 = "" , |
||
const std::string & | attr3 = "" , |
||
const std::string & | value3 = "" , |
||
const std::string & | attr4 = "" , |
||
const std::string & | value4 = "" |
||
) |
Set parameters of NdnL3Protocol.
Definition at line 101 of file ndn-stack-helper.cpp.
void ns3::ndn::StackHelper::setCsSize | ( | size_t | maxSize | ) |
Set maximum size for NFD's Content Store (in number of packets)
Definition at line 137 of file ndn-stack-helper.cpp.
void ns3::ndn::StackHelper::setPolicy | ( | const std::string & | policy | ) |
Set the cache replacement policy for NFD's Content Store.
Definition at line 143 of file ndn-stack-helper.cpp.
void ns3::ndn::StackHelper::SetOldContentStore | ( | const std::string & | contentStoreClass, |
const std::string & | attr1 = "" , |
||
const std::string & | value1 = "" , |
||
const std::string & | attr2 = "" , |
||
const std::string & | value2 = "" , |
||
const std::string & | attr3 = "" , |
||
const std::string & | value3 = "" , |
||
const std::string & | attr4 = "" , |
||
const std::string & | value4 = "" |
||
) |
Set ndnSIM 1.0 content store implementation and its attributes.
contentStoreClass | string, representing class of the content store |
Definition at line 117 of file ndn-stack-helper.cpp.
void ns3::ndn::StackHelper::AddFaceCreateCallback | ( | TypeId | netDeviceType, |
StackHelper::FaceCreateCallback | callback | ||
) |
Add callback to create and configure instance of the face, based on supplied Ptr<Node> and Ptr<NetDevice>
It is possible to set up several callbacks for different NetDevice types.
If none of the callbacks fit the TypeId of NetDevice, a default callback is used (DefaultNetDeviceCallback)
Definition at line 224 of file ndn-stack-helper.cpp.
void ns3::ndn::StackHelper::UpdateFaceCreateCallback | ( | TypeId | netDeviceType, |
FaceCreateCallback | callback | ||
) |
Update callback to create and configure instance of the face, based on supplied Ptr<Node> and Ptr<NetDevice>
It is possible to set up several callbacks for different NetDevice types.
Using this method, it is possible to override Face creation for PointToPointNetDevices
Definition at line 231 of file ndn-stack-helper.cpp.
void ns3::ndn::StackHelper::RemoveFaceCreateCallback | ( | TypeId | netDeviceType, |
FaceCreateCallback | callback | ||
) |
Remove callback to create and configure instance of the face, based on supplied Ptr<Node> and Ptr<NetDevice>
Definition at line 243 of file ndn-stack-helper.cpp.
void ns3::ndn::StackHelper::Install | ( | const std::string & | nodeName | ) | const |
Install Ndn stack on the node.
This method will assert if called on a node that already has Ndn object installed on it
nodeName | The name of the node on which to install the stack. |
Definition at line 332 of file ndn-stack-helper.cpp.
Referenced by Install(), InstallAll(), and Update().
void ns3::ndn::StackHelper::Install | ( | Ptr< Node > | node | ) | const |
Install Ndn stack on the node.
This method will assert if called on a node that already has Ndn object installed on it
node | The node on which to install the stack. |
Definition at line 173 of file ndn-stack-helper.cpp.
References ProcessWarmupEvents().
void ns3::ndn::StackHelper::Install | ( | const NodeContainer & | c | ) | const |
Install Ndn stack on each node in the input container.
The program will assert if this method is called on a container with a node that already has an ndn object aggregated to it.
c | NodeContainer that holds the set of nodes on which to install the new stacks. |
Definition at line 159 of file ndn-stack-helper.cpp.
References Install().
void ns3::ndn::StackHelper::InstallAll | ( | ) | const |
Install Ndn stack on all nodes in the simulation.
Definition at line 167 of file ndn-stack-helper.cpp.
References Install().
Referenced by ns3::ndn::ScenarioHelper::createTopology().
void ns3::ndn::StackHelper::SetDefaultRoutes | ( | bool | needSet | ) |
Set flag indicating necessity to install default routes in FIB.
Definition at line 94 of file ndn-stack-helper.cpp.
|
static |
Definition at line 80 of file ndn-stack-helper.cpp.
References ndn::security::v2::KeyChain.
Referenced by ndn::Face::Face().
void ns3::ndn::StackHelper::Update | ( | Ptr< Node > | node | ) |
Update Ndn stack on a given node (Add faces for new devices)
node | The node on which to update the stack. |
Definition at line 339 of file ndn-stack-helper.cpp.
References Install().
Referenced by Update(), and UpdateAll().
void ns3::ndn::StackHelper::Update | ( | const NodeContainer & | c | ) |
Update Ndn stack on given nodes (Add faces for new devices)
c | The nodes on which to update the stack. |
Definition at line 359 of file ndn-stack-helper.cpp.
References Update().
void ns3::ndn::StackHelper::Update | ( | const std::string & | nodeName | ) |
Update Ndn stack on a given node name (Add faces for new devices)
nodeName | The name of the node on which to update the stack. |
Definition at line 367 of file ndn-stack-helper.cpp.
References Update().
void ns3::ndn::StackHelper::UpdateAll | ( | ) |
Update Ndn stack on all the nodes (Add faces for new devices)
Definition at line 374 of file ndn-stack-helper.cpp.
References Update().
void ns3::ndn::StackHelper::disableStrategyChoiceManager | ( | ) |
Disable Strategy Choice Manager.
Definition at line 405 of file ndn-stack-helper.cpp.
Referenced by ns3::ndn::ScenarioHelper::disableStrategyChoiceManager().
void ns3::ndn::StackHelper::disableForwarderStatusManager | ( | ) |
Disable Forwarder Status Manager.
Definition at line 411 of file ndn-stack-helper.cpp.
Referenced by ns3::ndn::ScenarioHelper::disableForwarderStatusManager().
|
static |
Set face metric of all faces connected through PointToPoint channel to channel latency.
Definition at line 417 of file ndn-stack-helper.cpp.
|
static |
Definition at line 440 of file ndn-stack-helper.cpp.
Referenced by ns3::ndn::StrategyChoiceHelper::Install(), and Install().
void ns3::ndn::StackHelper::setCustomNdnCxxClocks | ( | ) |
Definition at line 87 of file ndn-stack-helper.cpp.
References ndn::time::setCustomClocks().
Referenced by StackHelper().