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::RocketfuelMapReader Class Reference

Topology file reader and topology estimator (extension of Rocketfuel-format type). More...

#include <rocketfuel-map-reader.h>

Inheritance diagram for ns3::RocketfuelMapReader:
Collaboration diagram for ns3::RocketfuelMapReader:

Public Member Functions

 RocketfuelMapReader (const std::string &path="", double scale=1.0, const string &referenceOspfRate="100Mbps")
virtual NodeContainer Read ()
 Deprecated call. More...
virtual NodeContainer Read (RocketfuelParams params, bool keepOneComponent=true, bool connectBackbones=true)
 Main topology reading function. More...
const NodeContainer & GetBackboneRouters () const
const NodeContainer & GetGatewayRouters () const
const NodeContainer & GetCustomerRouters () const
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)
- Public Member Functions inherited from ns3::AnnotatedTopologyReader
 AnnotatedTopologyReader (const std::string &path="", double scale=1.0)
 Constructor. 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.

Additional Inherited Members

- Protected Member Functions inherited from ns3::AnnotatedTopologyReader
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 inherited from ns3::AnnotatedTopologyReader
std::string m_path
NodeContainer m_nodes

Detailed Description

Topology file reader and topology estimator (extension of Rocketfuel-format type).


Only map file (.cch) is supported

In addition to reading specified topology from the .cch file, this class divides nodes into three categories:

  • client nodes (nodes with degrees less or equal to RocketfuelParams.clientNodeDegrees
  • gateway nodes (nodes that directly connected to client nodes)
  • backbone nodes (all the rest)

As some of the .cch files do not give a connected network graph, this reader also allows to keep only the largest connected network graph component.

Definition at line 80 of file rocketfuel-map-reader.h.

Member Function Documentation

NodeContainer ns3::RocketfuelMapReader::Read ( void  )

Deprecated call.

Read (RocketfuelParams params, bool keepOneComponent=true, bool connectBackbones=true) should be used instead

Reimplemented from ns3::AnnotatedTopologyReader.

Definition at line 77 of file rocketfuel-map-reader.cc.

NodeContainer ns3::RocketfuelMapReader::Read ( RocketfuelParams  params,
bool  keepOneComponent = true,
bool  connectBackbones = true 

Main topology reading function.

paramsparameters specifying range from which link bandwidths and delays should be assigned
keepOneComponentif true, then only the largest connected component will be kept
connectBackbonesif true, then extra links will be added to ensure connectivity of estimated backbone

This method opens an input stream and reads the Rocketfuel-format file. Every row represents a topology link (the ids of a couple of nodes), so the input file is read line by line to figure out how many links and nodes are in the topology.

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

Definition at line 285 of file rocketfuel-map-reader.cc.

References ns3::AnnotatedTopologyReader::ApplySettings(), and ns3::AnnotatedTopologyReader::GetLinks().

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