NS-3 based Named Data Networking (NDN) simulator
ndnSIM: NDN, CCN, CCNx, content centric networks
API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
ns3::AnnotatedTopologyReader Class Reference

This class reads annotated topology and apply settings to the corresponding nodes and links. More...

#include <annotated-topology-reader.h>

Inheritance diagram for ns3::AnnotatedTopologyReader:
Collaboration diagram for ns3::AnnotatedTopologyReader:

Public Member Functions

 AnnotatedTopologyReader (const std::string &path="", double scale=1.0)
 Constructor. More...
 
virtual NodeContainer Read ()
 Main annotated topology reading function. More...
 
virtual NodeContainer GetNodes () const
 Get nodes read by the reader.
 
virtual const std::list< Link > & GetLinks () const
 Get links read by the reader.
 
virtual void AssignIpv4Addresses (Ipv4Address base)
 Assign IPv4 addresses to all links. More...
 
virtual void SetBoundingBox (double ulx, double uly, double lrx, double lry)
 Set bounding box where nodes will be randomly places (if positions are unspecified) More...
 
virtual void SetMobilityModel (const std::string &model)
 Set mobility model to be used on nodes. More...
 
virtual void ApplyOspfMetric ()
 Apply OSPF metric on Ipv4 (if exists) and Ccnx (if exists) stacks.
 
virtual void SaveTopology (const std::string &file)
 Save positions (e.g., after manual modification using visualizer)
 
virtual void SaveGraphviz (const std::string &file)
 Save topology in graphviz format (.dot file)
 

Protected Member Functions

Ptr< Node > CreateNode (const std::string name, uint32_t systemId)
 
Ptr< Node > CreateNode (const std::string name, double posX, double posY, uint32_t systemId)
 
void ApplySettings ()
 This method applies setting to corresponding nodes and links NetDeviceContainer must be allocated NodeContainer from Read method.
 

Protected Attributes

std::string m_path
 
NodeContainer m_nodes
 

Detailed Description

This class reads annotated topology and apply settings to the corresponding nodes and links.

Definition at line 35 of file annotated-topology-reader.h.

Constructor & Destructor Documentation

ns3::AnnotatedTopologyReader::AnnotatedTopologyReader ( const std::string &  path = "",
double  scale = 1.0 
)

Constructor.

Parameters
pathns3::Names path
scaleScaling factor for coordinates in input file
See also
ns3::Names class

Definition at line 67 of file annotated-topology-reader.cc.

References SetMobilityModel().

Member Function Documentation

void ns3::AnnotatedTopologyReader::AssignIpv4Addresses ( Ipv4Address  base)
virtual

Assign IPv4 addresses to all links.

Note, IPv4 stack should be installed on all nodes prior this call

Every link will receive /24 netmask

Parameters
baseStarting IPv4 address (second link will have base+256)

Definition at line 259 of file annotated-topology-reader.cc.

NodeContainer ns3::AnnotatedTopologyReader::Read ( void  )
virtual

Main annotated topology reading function.

This method opens an input stream and reads topology file with annotations.

Returns
the container of the nodes created (or empty container if there was an error)

Reimplemented in ns3::RocketfuelMapReader, and ns3::RocketfuelWeightsReader.

Definition at line 145 of file annotated-topology-reader.cc.

References ApplySettings().

Referenced by ns3::RocketfuelWeightsReader::Read().

void ns3::AnnotatedTopologyReader::SetBoundingBox ( double  ulx,
double  uly,
double  lrx,
double  lry 
)
virtual

Set bounding box where nodes will be randomly places (if positions are unspecified)

Parameters
ulxUpper left x coordinate
ulyUpper left y coordinate
lrxLower right x coordinate
lryLower right y coordinate

Definition at line 80 of file annotated-topology-reader.cc.

void ns3::AnnotatedTopologyReader::SetMobilityModel ( const std::string &  model)
virtual

Set mobility model to be used on nodes.

Parameters
modelclass name of the model

Definition at line 89 of file annotated-topology-reader.cc.

Referenced by AnnotatedTopologyReader().


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