Topology file reader (extension of Rocketfuel-format type). More...
#include <rocketfuel-weights-reader.hpp>
Public Types | |
enum | { LINKS, WEIGHTS, LATENCIES, POSITIONS } |
Public Member Functions | |
RocketfuelWeightsReader (const std::string &path="", double scale=1.0) | |
virtual | ~RocketfuelWeightsReader () |
void | SetFileType (uint8_t inputType) |
virtual NodeContainer | Read (void) |
Main topology reading function. More... | |
void | Commit () |
void | SetDefaultBandwidth (const std::string &bw) |
std::string | GetDefaultBandwidth () const |
void | SetDefaultQueue (const std::string &queue) |
std::string | GetDefaultQueue () const |
Public Member Functions inherited from ns3::AnnotatedTopologyReader | |
AnnotatedTopologyReader (const std::string &path="", double scale=1.0) | |
Constructor. More... | |
virtual | ~AnnotatedTopologyReader () |
virtual NodeContainer | GetNodes () const |
Get nodes read by the reader. More... | |
virtual const std::list< Link > & | GetLinks () const |
Get links read by the reader. More... | |
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. More... | |
virtual void | SaveTopology (const std::string &file) |
Save positions (e.g., after manual modification using visualizer) More... | |
virtual void | SaveGraphviz (const std::string &file) |
Save topology in graphviz format (.dot file) More... | |
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. More... | |
Protected Attributes inherited from ns3::AnnotatedTopologyReader | |
std::string | m_path |
NodeContainer | m_nodes |
Topology file reader (extension of Rocketfuel-format type).
http://www.cs.washington.edu/research/networking/rocketfuel/
Only weights and latencies file is supported
Definition at line 39 of file rocketfuel-weights-reader.hpp.
anonymous enum |
Enumerator | |
---|---|
LINKS | |
WEIGHTS | |
LATENCIES | |
POSITIONS |
Definition at line 63 of file rocketfuel-weights-reader.hpp.
ns3::RocketfuelWeightsReader::RocketfuelWeightsReader | ( | const std::string & | path = "" , |
double | scale = 1.0 |
||
) |
Definition at line 58 of file rocketfuel-weights-reader.cpp.
|
virtual |
Definition at line 73 of file rocketfuel-weights-reader.cpp.
void ns3::RocketfuelWeightsReader::SetFileType | ( | uint8_t | inputType | ) |
Definition at line 79 of file rocketfuel-weights-reader.cpp.
|
virtual |
Main topology reading function.
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.
Reimplemented from ns3::AnnotatedTopologyReader.
Definition at line 85 of file rocketfuel-weights-reader.cpp.
References ns3::AnnotatedTopologyReader::CreateNode(), LATENCIES, LINKS, ns3::AnnotatedTopologyReader::m_nodes, ns3::AnnotatedTopologyReader::m_path, POSITIONS, ns3::AnnotatedTopologyReader::Read(), nonstd::span_lite::size(), and WEIGHTS.
void ns3::RocketfuelWeightsReader::Commit | ( | ) |
Definition at line 187 of file rocketfuel-weights-reader.cpp.
References ns3::AnnotatedTopologyReader::ApplySettings().
|
inline |
Definition at line 90 of file rocketfuel-weights-reader.hpp.
|
inline |
Definition at line 96 of file rocketfuel-weights-reader.hpp.
|
inline |
Definition at line 102 of file rocketfuel-weights-reader.hpp.
|
inline |
Definition at line 108 of file rocketfuel-weights-reader.hpp.