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

Namespaces

 cs
 
 lp
 
 time
 

Classes

class  AbstractFib
 An abstract, lightweight representation of the FIB. More...
 
class  App
 Base class that all NDN applications should be derived from. More...
 
class  AppDelayTracer
 Tracer to obtain application-level delays. More...
 
class  AppHelper
 A helper to make it easier to instantiate an ns3::ndn::App applications on a set of nodes. More...
 
class  AppLinkService
 Implementation of LinkService for ndnSIM application. More...
 
class  BlockHeader
 
class  Consumer
 NDN application for sending out Interest packets. More...
 
class  ConsumerBatches
 Ndn application for sending out Interest packets in batches. More...
 
class  ConsumerCbr
 Ndn application for sending out Interest packets at a "constant" rate (Poisson process) More...
 
class  ConsumerPcon
 NDN consumer application with more advanced congestion control options. More...
 
class  ConsumerWindow
 Ndn application for sending out Interest packets (window-based) More...
 
class  ConsumerZipfMandelbrot
 NDN app requesting contents following Zipf-Mandelbrot Distbituion. More...
 
class  CsTracer
 NDN tracer for cache performance (hits and misses) More...
 
class  FactoryCallbackApp
 An application that can be created using the supplied callback. More...
 
class  FibHelper
 Forwarding Information Base (FIB) helper. More...
 
class  FibNextHop
 
class  GlobalRouter
 Class representing global router interface for ndnSIM. More...
 
class  GlobalRoutingHelper
 Helper for GlobalRouter interface. More...
 
class  IgnoreSections
 
class  L3Protocol
 Implementation network-layer of NDN stack. More...
 
class  L3RateTracer
 NDN network-layer rate tracer. More...
 
class  L3Tracer
 Base class for network-layer (incoming/outgoing Interests and Data) tracing of NDN stack. More...
 
class  LinkControlHelper
 Helper class to control the up or down statuss of an NDN link connecting two specific nodes. More...
 
class  NameChecker
 
class  NameValue
 
class  NetDeviceTransport
 ndnSIM-specific transport More...
 
class  NetworkRegionTableHelper
 Network Region Table Helper. More...
 
class  NodePrio
 
class  Ns3BufferIteratorSource
 
class  Ns3PacketTag
 
class  NullTransport
 Null transport (does nothing, just fulfills requirements of the interface) More...
 
class  Producer
 A simple Interest-sink applia simple Interest-sink application. More...
 
class  RttEstimator
 Base class for all RTT Estimators. More...
 
class  RttHistory
 Helper class to store RTT measurements. More...
 
class  RttMeanDeviation
 The modified version of "Mean--Deviation" RTT estimator, as discussed by Van Jacobson that better suits NDN communication model. More...
 
class  ScenarioHelper
 Helper class to simplify writing basic simulation scenarios. More...
 
class  StackHelper
 Helper class to install NDN stack and configure its parameters. More...
 
class  StrategyChoiceHelper
 NFD Strategy Choice Helper (FIB) helper. More...
 

Typedefs

using AllNodeFib = AbstractFib::AllNodeFib
 
using DiGraph = boost::adjacency_list< boost::listS, boost::vecS, boost::bidirectionalS, boost::no_property, boost::property< boost::edge_weight_t, int > >
 
typedef std::deque< RttHistoryRttHistory_t
 

Enumerations

enum  NextHopType { NextHopType::DOWNWARD, NextHopType::UPWARD, NextHopType::DISABLED }
 
enum  CcAlgorithm { AIMD, BIC, CUBIC }
 

Functions

template<typename T1 >
Ptr< const AttributeAccessor > MakeNameAccessor (T1 a1)
 
template<typename T1 , typename T2 >
Ptr< const AttributeAccessor > MakeNameAccessor (T1 a1, T2 a2)
 
Ptr< const AttributeChecker > MakeNameChecker (void)
 
 NS_OBJECT_ENSURE_REGISTERED (GlobalRouter)
 
bool operator== (const GlobalRouter::Incidency &a, const GlobalRouter::Incidency &b)
 
bool operator!= (const GlobalRouter::Incidency &a, const GlobalRouter::Incidency &b)
 
 NS_OBJECT_ENSURE_REGISTERED (L3Protocol)
 
std::ostream & operator<< (std::ostream &os, const AbstractFib &fib)
 
std::ostream & operator<< (std::ostream &os, const NextHopType &type)
 
std::ostream & operator<< (std::ostream &os, const FibNextHop &a)
 
void getDigraphFromFib (DiGraph &dg, const AllNodeFib &allNodeFIB, const int dstId)
 Fill directed graph only with edges existing in the FIB. More...
 
std::ostream & operator<< (std::ostream &os, const NodePrio &node)
 
int removeLoops (AllNodeFib &allNodeFIB, bool printOutput)
 
int removeDeadEnds (AllNodeFib &allNodeFIB, bool printOutput)
 
std::string constructFaceUri (Ptr< NetDevice > netDevice)
 
 NS_OBJECT_ENSURE_REGISTERED (RttEstimator)
 
 NS_OBJECT_ENSURE_REGISTERED (RttMeanDeviation)
 
std::ostream & operator<< (std::ostream &os, const CsTracer &tracer)
 Helper to dump the trace to an output stream. More...
 
std::ostream & operator<< (std::ostream &os, const L3Tracer &tracer)
 Helper to dump the trace to an output stream. More...
 
 NS_OBJECT_ENSURE_REGISTERED (App)
 
 NS_OBJECT_ENSURE_REGISTERED (ConsumerBatches)
 
 NS_OBJECT_ENSURE_REGISTERED (ConsumerCbr)
 
 NS_OBJECT_ENSURE_REGISTERED (ConsumerPcon)
 
 NS_OBJECT_ENSURE_REGISTERED (ConsumerWindow)
 
 NS_OBJECT_ENSURE_REGISTERED (ConsumerZipfMandelbrot)
 
 NS_OBJECT_ENSURE_REGISTERED (Consumer)
 
 NS_OBJECT_ENSURE_REGISTERED (Producer)
 

Variables

 Name
 
constexpr int NODE_ID_LIMIT = 1000
 
ndn FibHelper
 
ndn NetworkRegionTableHelper
 
ndn StrategyChoiceHelper
 
static std::list< std::tuple< shared_ptr< std::ostream >, std::list< Ptr< AppDelayTracer > > > > g_tracers
 
static std::list< std::tuple< shared_ptr< std::ostream >, std::list< Ptr< CsTracer > > > > g_tracers
 
static std::list< std::tuple< shared_ptr< std::ostream >, std::list< Ptr< L3RateTracer > > > > g_tracers
 
const double alpha = 0.8
 

Typedef Documentation

◆ AllNodeFib

Definition at line 36 of file remove-loops.cpp.

◆ DiGraph

using ns3::ndn::DiGraph = typedef boost::adjacency_list<boost::listS, boost::vecS, boost::bidirectionalS, boost::no_property, boost::property<boost::edge_weight_t, int> >

Definition at line 35 of file remove-loops.hpp.

◆ RttHistory_t

typedef std::deque<RttHistory> ns3::ndn::RttHistory_t

Definition at line 54 of file ndn-rtt-estimator.hpp.

Enumeration Type Documentation

◆ NextHopType

enum ns3::ndn::NextHopType
strong
Enumerator
DOWNWARD 
UPWARD 
DISABLED 

Definition at line 32 of file fib-nexthop.hpp.

◆ CcAlgorithm

Enumerator
AIMD 
BIC 
CUBIC 

Definition at line 30 of file ndn-consumer-pcon.hpp.

Function Documentation

◆ MakeNameAccessor() [1/2]

template<typename T1 >
Ptr<const AttributeAccessor> ns3::ndn::MakeNameAccessor ( T1  a1)

Definition at line 48 of file ndn-common.hpp.

Referenced by ns3::ndn::Producer::GetTypeId(), and ns3::ndn::Consumer::GetTypeId().

◆ MakeNameAccessor() [2/2]

template<typename T1 , typename T2 >
Ptr<const AttributeAccessor> ns3::ndn::MakeNameAccessor ( T1  a1,
T2  a2 
)

Definition at line 48 of file ndn-common.hpp.

◆ MakeNameChecker()

Ptr<const AttributeChecker> ns3::ndn::MakeNameChecker ( void  )

◆ NS_OBJECT_ENSURE_REGISTERED() [1/12]

ns3::ndn::NS_OBJECT_ENSURE_REGISTERED ( GlobalRouter  )

◆ operator==()

◆ operator!=()

bool ns3::ndn::operator!= ( const GlobalRouter::Incidency a,
const GlobalRouter::Incidency b 
)
inline

Definition at line 139 of file ndn-global-router.hpp.

Referenced by nonstd::span_lite::span< T, Extent >::crend().

◆ NS_OBJECT_ENSURE_REGISTERED() [2/12]

ns3::ndn::NS_OBJECT_ENSURE_REGISTERED ( L3Protocol  )

◆ operator<<() [1/6]

std::ostream & ns3::ndn::operator<< ( std::ostream &  os,
const AbstractFib fib 
)

Definition at line 175 of file abstract-fib.cpp.

◆ operator<<() [2/6]

std::ostream & ns3::ndn::operator<< ( std::ostream &  os,
const NextHopType type 
)

Definition at line 43 of file fib-nexthop.cpp.

References DISABLED, DOWNWARD, and UPWARD.

◆ operator<<() [3/6]

std::ostream & ns3::ndn::operator<< ( std::ostream &  os,
const FibNextHop a 
)

Definition at line 57 of file fib-nexthop.cpp.

References ns3::ndn::FibNextHop::getNexthopId().

◆ getDigraphFromFib()

void ns3::ndn::getDigraphFromFib ( DiGraph dg,
const AllNodeFib allNodeFIB,
const int  dstId 
)

Fill directed graph only with edges existing in the FIB.

Definition at line 42 of file remove-loops.cpp.

References UPWARD.

Referenced by removeLoops().

◆ operator<<() [4/6]

std::ostream& ns3::ndn::operator<< ( std::ostream &  os,
const NodePrio node 
)

Definition at line 139 of file remove-loops.cpp.

References ns3::ndn::NodePrio::getRemainingUw().

◆ removeLoops()

◆ removeDeadEnds()

int ns3::ndn::removeDeadEnds ( AllNodeFib allNodeFIB,
bool  printOutput 
)

◆ constructFaceUri()

std::string ns3::ndn::constructFaceUri ( Ptr< NetDevice netDevice)

Definition at line 222 of file ndn-stack-helper.cpp.

References nonstd::optional_lite::std11::move().

◆ NS_OBJECT_ENSURE_REGISTERED() [3/12]

ns3::ndn::NS_OBJECT_ENSURE_REGISTERED ( RttEstimator  )

◆ NS_OBJECT_ENSURE_REGISTERED() [4/12]

ns3::ndn::NS_OBJECT_ENSURE_REGISTERED ( RttMeanDeviation  )

◆ operator<<() [5/6]

std::ostream& ns3::ndn::operator<< ( std::ostream &  os,
const CsTracer tracer 
)
inline

Helper to dump the trace to an output stream.

Definition at line 206 of file ndn-cs-tracer.hpp.

References ns3::ndn::CsTracer::Print(), and ns3::ndn::CsTracer::PrintHeader().

◆ operator<<() [6/6]

std::ostream& ns3::ndn::operator<< ( std::ostream &  os,
const L3Tracer tracer 
)
inline

Helper to dump the trace to an output stream.

Definition at line 141 of file ndn-l3-tracer.hpp.

References ns3::ndn::L3Tracer::Print(), and ns3::ndn::L3Tracer::PrintHeader().

◆ NS_OBJECT_ENSURE_REGISTERED() [5/12]

ns3::ndn::NS_OBJECT_ENSURE_REGISTERED ( App  )

◆ NS_OBJECT_ENSURE_REGISTERED() [6/12]

ns3::ndn::NS_OBJECT_ENSURE_REGISTERED ( ConsumerBatches  )

◆ NS_OBJECT_ENSURE_REGISTERED() [7/12]

ns3::ndn::NS_OBJECT_ENSURE_REGISTERED ( ConsumerCbr  )

◆ NS_OBJECT_ENSURE_REGISTERED() [8/12]

ns3::ndn::NS_OBJECT_ENSURE_REGISTERED ( ConsumerPcon  )

◆ NS_OBJECT_ENSURE_REGISTERED() [9/12]

ns3::ndn::NS_OBJECT_ENSURE_REGISTERED ( ConsumerWindow  )

◆ NS_OBJECT_ENSURE_REGISTERED() [10/12]

ns3::ndn::NS_OBJECT_ENSURE_REGISTERED ( ConsumerZipfMandelbrot  )

◆ NS_OBJECT_ENSURE_REGISTERED() [11/12]

ns3::ndn::NS_OBJECT_ENSURE_REGISTERED ( Consumer  )

◆ NS_OBJECT_ENSURE_REGISTERED() [12/12]

ns3::ndn::NS_OBJECT_ENSURE_REGISTERED ( Producer  )

Variable Documentation

◆ Name

◆ NODE_ID_LIMIT

constexpr int ns3::ndn::NODE_ID_LIMIT = 1000

Definition at line 29 of file fib-nexthop.cpp.

◆ FibHelper

Definition at line 48 of file ndn-fib-helper.cpp.

◆ NetworkRegionTableHelper

◆ StrategyChoiceHelper

◆ g_tracers [1/3]

◆ g_tracers [2/3]

std::list<std::tuple<shared_ptr<std::ostream>, std::list<Ptr<CsTracer> > > > ns3::ndn::g_tracers
static

Definition at line 41 of file ndn-cs-tracer.cpp.

◆ g_tracers [3/3]

std::list<std::tuple<shared_ptr<std::ostream>, std::list<Ptr<L3RateTracer> > > > ns3::ndn::g_tracers
static

Definition at line 41 of file ndn-l3-rate-tracer.cpp.

◆ alpha

const double ns3::ndn::alpha = 0.8

Definition at line 238 of file ndn-l3-rate-tracer.cpp.