A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
inet-topology-reader.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2010 Universita' di Firenze, Italy
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation;
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program; if not, write to the Free Software
15 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
16 *
17 * Author: Tommaso Pecorella (tommaso.pecorella@unifi.it)
18 * Author: Valerio Sartini (valesar@gmail.com)
19 */
20
21#ifndef INET_TOPOLOGY_READER_H
22#define INET_TOPOLOGY_READER_H
23
24#include "topology-reader.h"
25
26/**
27 * \file
28 * \ingroup topology
29 * ns3::InetTopologyReader declaration.
30 */
31
32namespace ns3
33{
34
35// ------------------------------------------------------------
36// --------------------------------------------
37/**
38 * \ingroup topology
39 *
40 * \brief Topology file reader (Inet-format type).
41 *
42 * This class takes an input file in Inet format and extracts all
43 * the information needed to build the topology
44 * (i.e.number of nodes, links and links structure).
45 * It have been tested with Inet 3.0
46 * https://web.archive.org/web/20210308100536/http://topology.eecs.umich.edu/inet/
47 *
48 * It might set a link attribute named "Weight", corresponding to
49 * the euclidean distance between two nodes, the nodes being randomly positioned.
50 */
52{
53 public:
54 /**
55 * \brief Get the type ID.
56 * \return the object TypeId.
57 */
58 static TypeId GetTypeId();
59
61 ~InetTopologyReader() override;
62
63 // Delete copy constructor and assignment operator to avoid misuse
66
67 /**
68 * \brief Main topology reading function.
69 *
70 * This method opens an input stream and reads the Inet-format file.
71 * From the first line it takes the total number of nodes and links.
72 * Then discards a number of rows equals to total nodes (containing
73 * useless geographical information).
74 * Then reads until the end of the file (total links number rows) and saves
75 * the structure of every single link in the topology.
76 *
77 * \return The container of the nodes created (or empty container if there was an error)
78 */
79 NodeContainer Read() override;
80
81 // end class InetTopologyReader
82};
83
84// end namespace ns3
85}; // namespace ns3
86
87#endif /* INET_TOPOLOGY_READER_H */
Topology file reader (Inet-format type).
InetTopologyReader(const InetTopologyReader &)=delete
NodeContainer Read() override
Main topology reading function.
static TypeId GetTypeId()
Get the type ID.
InetTopologyReader & operator=(const InetTopologyReader &)=delete
keep track of a set of node pointers.
Interface for input file readers management.
a unique identifier for an interface.
Definition: type-id.h:59
Every class exported by the ns3 library is enclosed in the ns3 namespace.
ns3::TopologyReader declaration.