A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Documentation ▼
Installation
Manual
Models
Contributing
Wiki
Development ▼
API Docs
Issue Tracker
Merge Requests
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
32
namespace
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
*/
51
class
InetTopologyReader
:
public
TopologyReader
52
{
53
public
:
54
/**
55
* \brief Get the type ID.
56
* \return the object TypeId.
57
*/
58
static
TypeId
GetTypeId
();
59
60
InetTopologyReader
();
61
~InetTopologyReader
()
override
;
62
63
// Delete copy constructor and assignment operator to avoid misuse
64
InetTopologyReader
(
const
InetTopologyReader
&) =
delete
;
65
InetTopologyReader
&
operator=
(
const
InetTopologyReader
&) =
delete
;
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 */
ns3::InetTopologyReader
Topology file reader (Inet-format type).
Definition:
inet-topology-reader.h:52
ns3::InetTopologyReader::InetTopologyReader
InetTopologyReader(const InetTopologyReader &)=delete
ns3::InetTopologyReader::Read
NodeContainer Read() override
Main topology reading function.
Definition:
inet-topology-reader.cc:64
ns3::InetTopologyReader::GetTypeId
static TypeId GetTypeId()
Get the type ID.
Definition:
inet-topology-reader.cc:44
ns3::InetTopologyReader::InetTopologyReader
InetTopologyReader()
Definition:
inet-topology-reader.cc:53
ns3::InetTopologyReader::~InetTopologyReader
~InetTopologyReader() override
Definition:
inet-topology-reader.cc:58
ns3::InetTopologyReader::operator=
InetTopologyReader & operator=(const InetTopologyReader &)=delete
ns3::NodeContainer
keep track of a set of node pointers.
Definition:
node-container.h:40
ns3::TopologyReader
Interface for input file readers management.
Definition:
topology-reader.h:51
ns3::TypeId
a unique identifier for an interface.
Definition:
type-id.h:59
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
topology-reader.h
ns3::TopologyReader declaration.
src
topology-read
model
inet-topology-reader.h
Generated on Tue May 28 2024 23:39:37 for ns-3 by
1.9.6