Implementation network-layer of NDN stack. More...
#include <ndn-l3-protocol.hpp>
Classes | |
class | Impl |
Public Types | |
typedef void(* | InterestTraceCallback) (const Interest &, const Face &) |
typedef void(* | DataTraceCallback) (const Data &, const Face &) |
typedef void(* | SatisfiedInterestsCallback) (const nfd::pit::Entry &pitEntry, const Face &inFace, const Data &data) |
typedef void(* | TimedOutInterestsCallback) (const nfd::pit::Entry &pitEntry) |
Public Member Functions | |
L3Protocol () | |
Default constructor. More... | |
virtual | ~L3Protocol () |
shared_ptr< nfd::Forwarder > | getForwarder () |
Get smart pointer to nfd::Forwarder installed on the node. More... | |
shared_ptr< nfd::FibManager > | getFibManager () |
Get smart pointer to nfd::FibManager, used by node's NFD. More... | |
shared_ptr< nfd::StrategyChoiceManager > | getStrategyChoiceManager () |
Get smart pointer to nfd::StrategyChoiceManager, used by node's NFD. More... | |
nfd::FaceId | addFace (shared_ptr< Face > face) |
Add face to NDN stack. More... | |
shared_ptr< Face > | getFaceById (nfd::FaceId face) const |
Get face by face ID. More... | |
shared_ptr< Face > | getFaceByNetDevice (Ptr< NetDevice > netDevice) const |
Remove face from ndn stack (remove callbacks) More... | |
nfd::ConfigSection & | getConfig () |
Get NFD config (boost::property_tree) More... | |
Static Public Member Functions | |
static TypeId | GetTypeId () |
Interface ID. More... | |
static Ptr< L3Protocol > | getL3Protocol (Ptr< Object > node) |
Static Public Attributes | |
static const uint16_t | ETHERNET_FRAME_TYPE = 0x7777 |
Ethernet Frame Type of Ndn. More... | |
static const uint16_t | IP_STACK_PORT = 9695 |
TCP/UDP port for NDN stack. More... | |
Protected Member Functions | |
virtual void | DoDispose (void) |
Do cleanup. More... | |
virtual void | NotifyNewAggregate () |
This function will notify other components connected to the node that a new stack member is now connected This will be used to notify Layer 3 protocol of layer 4 protocol stack to connect them together. More... | |
Implementation network-layer of NDN stack.
This class defines the API to manipulate the following aspects of the NDN stack implementation:
Each Face-derived object has conceptually a single NDN interface associated with it.
In addition, this class defines NDN packet coding constants
Definition at line 75 of file ndn-l3-protocol.hpp.
Definition at line 156 of file ndn-l3-protocol.hpp.
Definition at line 157 of file ndn-l3-protocol.hpp.
typedef void(* ns3::ndn::L3Protocol::SatisfiedInterestsCallback) (const nfd::pit::Entry &pitEntry, const Face &inFace, const Data &data) |
Definition at line 159 of file ndn-l3-protocol.hpp.
typedef void(* ns3::ndn::L3Protocol::TimedOutInterestsCallback) (const nfd::pit::Entry &pitEntry) |
Definition at line 160 of file ndn-l3-protocol.hpp.
ns3::ndn::L3Protocol::L3Protocol | ( | ) |
Default constructor.
Creates an empty stack without forwarding strategy set
Definition at line 172 of file ndn-l3-protocol.cpp.
|
virtual |
Definition at line 178 of file ndn-l3-protocol.cpp.
References nfd::FACEID_NULL, and getConfig().
|
static |
shared_ptr< nfd::Forwarder > ns3::ndn::L3Protocol::getForwarder | ( | ) |
Get smart pointer to nfd::Forwarder installed on the node.
Definition at line 317 of file ndn-l3-protocol.cpp.
Referenced by ns3::ndn::FibHelper::AddRoute(), ns3::ndn::GlobalRoutingHelper::CalculateAllPossibleRoutes(), ns3::ndn::GlobalRoutingHelper::CalculateRoutes(), and ns3::ndn::FibHelper::RemoveRoute().
shared_ptr< nfd::FibManager > ns3::ndn::L3Protocol::getFibManager | ( | ) |
Get smart pointer to nfd::FibManager, used by node's NFD.
Definition at line 323 of file ndn-l3-protocol.cpp.
shared_ptr< nfd::StrategyChoiceManager > ns3::ndn::L3Protocol::getStrategyChoiceManager | ( | ) |
Get smart pointer to nfd::StrategyChoiceManager, used by node's NFD.
Definition at line 329 of file ndn-l3-protocol.cpp.
nfd::FaceId ns3::ndn::L3Protocol::addFace | ( | shared_ptr< Face > | face | ) |
Add face to NDN stack.
face | smart pointer to Face-derived object (AppFace, NetDeviceFace) |
Definition at line 374 of file ndn-l3-protocol.cpp.
shared_ptr< Face > ns3::ndn::L3Protocol::getFaceById | ( | nfd::FaceId | face | ) | const |
Get face by face ID.
face | The face ID number |
Definition at line 401 of file ndn-l3-protocol.cpp.
shared_ptr< Face > ns3::ndn::L3Protocol::getFaceByNetDevice | ( | Ptr< NetDevice > | netDevice | ) | const |
Remove face from ndn stack (remove callbacks)
Get face for NetDevice
Definition at line 407 of file ndn-l3-protocol.cpp.
Referenced by ns3::AnnotatedTopologyReader::ApplyOspfMetric().
nfd::ConfigSection & ns3::ndn::L3Protocol::getConfig | ( | ) |
Get NFD config (boost::property_tree)
Definition at line 335 of file ndn-l3-protocol.cpp.
Referenced by ns3::ndn::StackHelper::Install(), ns3::ndn::IgnoreSections::operator()(), and ~L3Protocol().
|
static |
Definition at line 421 of file ndn-l3-protocol.cpp.
|
protectedvirtual |
Do cleanup.
Definition at line 364 of file ndn-l3-protocol.cpp.
|
protectedvirtual |
This function will notify other components connected to the node that a new stack member is now connected This will be used to notify Layer 3 protocol of layer 4 protocol stack to connect them together.
Definition at line 345 of file ndn-l3-protocol.cpp.
|
static |
Ethernet Frame Type of Ndn.
Definition at line 85 of file ndn-l3-protocol.hpp.
Referenced by ns3::ndn::NetDeviceFace::GetNetDevice(), and ns3::ndn::NetDeviceFace::NetDeviceFace().
|
static |
TCP/UDP port for NDN stack.
Definition at line 86 of file ndn-l3-protocol.hpp.