NS-3 based Named Data Networking (NDN) simulator
ndnSIM 2.0: NDN, CCN, CCNx, content centric networks
API Documentation
ns3::ndn::L3Protocol Class Reference

Implementation network-layer of NDN stack. More...

#include <ndn-l3-protocol.hpp>

Inheritance diagram for ns3::ndn::L3Protocol:
Collaboration diagram for ns3::ndn::L3Protocol:

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::ForwardergetForwarder ()
 Get smart pointer to nfd::Forwarder installed on the node. More...
 
shared_ptr< nfd::FibManagergetFibManager ()
 Get smart pointer to nfd::FibManager, used by node's NFD. More...
 
shared_ptr< nfd::StrategyChoiceManagergetStrategyChoiceManager ()
 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< FacegetFaceById (nfd::FaceId face) const
 Get face by face ID. More...
 
shared_ptr< FacegetFaceByNetDevice (Ptr< NetDevice > netDevice) const
 Remove face from ndn stack (remove callbacks) More...
 
nfd::ConfigSectiongetConfig ()
 Get NFD config (boost::property_tree) More...
 

Static Public Member Functions

static TypeId GetTypeId ()
 Interface ID. More...
 
static Ptr< L3ProtocolgetL3Protocol (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...
 

Detailed Description

Implementation network-layer of NDN stack.

This class defines the API to manipulate the following aspects of the NDN stack implementation:

  1. register a face (Face-derived object) for use by the NDN layer

Each Face-derived object has conceptually a single NDN interface associated with it.

In addition, this class defines NDN packet coding constants

See also
Face, ForwardingStrategy

Definition at line 75 of file ndn-l3-protocol.hpp.

Member Typedef Documentation

typedef void(* ns3::ndn::L3Protocol::InterestTraceCallback) (const Interest &, const Face &)

Definition at line 156 of file ndn-l3-protocol.hpp.

typedef void(* ns3::ndn::L3Protocol::DataTraceCallback) (const Data &, const Face &)

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.

Constructor & Destructor Documentation

ns3::ndn::L3Protocol::L3Protocol ( )

Default constructor.

Creates an empty stack without forwarding strategy set

Definition at line 172 of file ndn-l3-protocol.cpp.

ns3::ndn::L3Protocol::~L3Protocol ( )
virtual

Definition at line 178 of file ndn-l3-protocol.cpp.

References nfd::FACEID_NULL, and getConfig().

Member Function Documentation

TypeId ns3::ndn::L3Protocol::GetTypeId ( void  )
static

Interface ID.

Returns
interface ID

Definition at line 64 of file ndn-l3-protocol.cpp.

shared_ptr< nfd::Forwarder > ns3::ndn::L3Protocol::getForwarder ( )
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.

Parameters
facesmart pointer to Face-derived object (AppFace, NetDeviceFace)
Returns
nfd::FaceId
See also
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.

Parameters
faceThe face ID number
Returns
The Face associated with the Ndn face 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().

Ptr< L3Protocol > ns3::ndn::L3Protocol::getL3Protocol ( Ptr< Object >  node)
static

Definition at line 421 of file ndn-l3-protocol.cpp.

void ns3::ndn::L3Protocol::DoDispose ( void  )
protectedvirtual

Do cleanup.

Definition at line 364 of file ndn-l3-protocol.cpp.

void ns3::ndn::L3Protocol::NotifyNewAggregate ( )
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.

Member Data Documentation

const uint16_t ns3::ndn::L3Protocol::ETHERNET_FRAME_TYPE = 0x7777
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().

const uint16_t ns3::ndn::L3Protocol::IP_STACK_PORT = 9695
static

TCP/UDP port for NDN stack.

Definition at line 86 of file ndn-l3-protocol.hpp.


The documentation for this class was generated from the following files: