A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Portuguese
Docs ▼
Wiki
Manual
Models
Develop ▼
API
Bugs
API
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
csma-star-helper.h
Go to the documentation of this file.
1
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2
/*
3
* This program is free software; you can redistribute it and/or modify
4
* it under the terms of the GNU General Public License version 2 as
5
* published by the Free Software Foundation;
6
*
7
* This program is distributed in the hope that it will be useful,
8
* but WITHOUT ANY WARRANTY; without even the implied warranty of
9
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10
* GNU General Public License for more details.
11
*
12
* You should have received a copy of the GNU General Public License
13
* along with this program; if not, write to the Free Software
14
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
15
*/
16
17
// Define an object to create a star topology.
18
19
#ifndef CSMA_STAR_HELPER_H
20
#define CSMA_STAR_HELPER_H
21
22
#include <string>
23
24
#include "
csma-helper.h
"
25
#include "
ipv4-address-helper.h
"
26
#include "
ipv6-address-helper.h
"
27
#include "
internet-stack-helper.h
"
28
#include "
ipv4-interface-container.h
"
29
#include "
ipv6-interface-container.h
"
30
#include "
ipv6-address-generator.h
"
31
32
namespace
ns3 {
33
45
class
CsmaStarHelper
46
{
47
public
:
59
CsmaStarHelper
(uint32_t numSpokes,
60
CsmaHelper
csmaHelper);
61
62
~CsmaStarHelper
();
63
64
public
:
69
Ptr<Node>
GetHub
()
const
;
70
76
Ptr<Node>
GetSpokeNode
(uint32_t i)
const
;
77
82
NetDeviceContainer
GetHubDevices
()
const
;
83
88
NetDeviceContainer
GetSpokeDevices
()
const
;
89
95
Ipv4Address
GetHubIpv4Address
(uint32_t i)
const
;
96
102
Ipv6Address
GetHubIpv6Address
(uint32_t i)
const
;
103
109
Ipv4Address
GetSpokeIpv4Address
(uint32_t i)
const
;
110
116
Ipv6Address
GetSpokeIpv6Address
(uint32_t i)
const
;
117
121
uint32_t
SpokeCount
()
const
;
122
127
void
InstallStack
(
InternetStackHelper
stack);
128
134
void
AssignIpv4Addresses
(
Ipv4AddressHelper
address);
135
141
void
AssignIpv6Addresses
(
Ipv6Address
network,
Ipv6Prefix
prefix);
142
143
private
:
144
NodeContainer
m_hub
;
145
NetDeviceContainer
m_hubDevices
;
146
NodeContainer
m_spokes
;
147
NetDeviceContainer
m_spokeDevices
;
148
Ipv4InterfaceContainer
m_hubInterfaces
;
149
Ipv4InterfaceContainer
m_spokeInterfaces
;
150
Ipv6InterfaceContainer
m_hubInterfaces6
;
151
Ipv6InterfaceContainer
m_spokeInterfaces6
;
152
};
153
154
}
// namespace ns3
155
156
#endif
/* CSMA_STAR_HELPER_H */
src
csma-layout
model
csma-star-helper.h
Generated on Tue Oct 9 2012 16:45:36 for ns-3 by
1.8.1.2