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... | |
Ptr< FaceContainer > | Install (const std::string &nodeName) const |
Install Ndn stack on the node. More... | |
Ptr< FaceContainer > | Install (Ptr< Node > node) const |
Install Ndn stack on the node. More... | |
Ptr< FaceContainer > | Install (const NodeContainer &c) const |
Install Ndn stack on each node in the input container. More... | |
Ptr< FaceContainer > | 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 | disableRibManager () |
Disable the RIB manager of NFD. More... | |
void | disableStrategyChoiceManager () |
Disable Face Manager. More... | |
void | disableForwarderStatusManager () |
Disable Forwarder Status Manager. More... | |
void | setCustomNdnCxxClocks () |
Static Public Member Functions | |
static KeyChain & | getKeyChain () |
Helper class to install NDN stack and configure its parameters.
Definition at line 56 of file ndn-stack-helper.hpp.
typedef Callback<shared_ptr<Face>, Ptr<Node>, Ptr<L3Protocol>, Ptr<NetDevice> > ns3::ndn::StackHelper::FaceCreateCallback |
Definition at line 103 of file ndn-stack-helper.hpp.
ns3::ndn::StackHelper::StackHelper | ( | ) |
Create a new NdnStackHelper with a default NDN_FLOODING forwarding stategy.
Definition at line 47 of file ndn-stack-helper.cpp.
References setCustomNdnCxxClocks().
|
virtual |
Destroy the NdnStackHelper.
Definition at line 71 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 97 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 133 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 139 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 113 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 227 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 234 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 246 of file ndn-stack-helper.cpp.
Ptr< FaceContainer > 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 333 of file ndn-stack-helper.cpp.
Referenced by Install(), InstallAll(), and Update().
Ptr< FaceContainer > 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 171 of file ndn-stack-helper.cpp.
References ns3::ndn::L3Protocol::getConfig().
Ptr< FaceContainer > 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 155 of file ndn-stack-helper.cpp.
References Install().
Ptr< FaceContainer > ns3::ndn::StackHelper::InstallAll | ( | ) | const |
Install Ndn stack on all nodes in the simulation.
Definition at line 165 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 90 of file ndn-stack-helper.cpp.
|
static |
Definition at line 76 of file ndn-stack-helper.cpp.
Referenced by ndn::Face::Face(), and ns3::ndn::L3Protocol::setCsReplacementPolicy().
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 340 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 360 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 368 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 375 of file ndn-stack-helper.cpp.
References ns3::ndn::FibHelper::AddRoute(), and Update().
void ns3::ndn::StackHelper::disableRibManager | ( | ) |
Disable the RIB manager of NFD.
Definition at line 406 of file ndn-stack-helper.cpp.
Referenced by ns3::ndn::ScenarioHelper::disableRibManager().
void ns3::ndn::StackHelper::disableStrategyChoiceManager | ( | ) |
Disable Face Manager.
Disable Strategy Choice Manager
Definition at line 418 of file ndn-stack-helper.cpp.
Referenced by ns3::ndn::ScenarioHelper::disableStrategyChoiceManager().
void ns3::ndn::StackHelper::disableForwarderStatusManager | ( | ) |
Disable Forwarder Status Manager.
Definition at line 424 of file ndn-stack-helper.cpp.
Referenced by ns3::ndn::ScenarioHelper::disableForwarderStatusManager().
void ns3::ndn::StackHelper::setCustomNdnCxxClocks | ( | ) |
Definition at line 83 of file ndn-stack-helper.cpp.
References ndn::time::setCustomClocks().
Referenced by StackHelper().