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
burst-profile-manager.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2007,2008 INRIA
3
*
4
* SPDX-License-Identifier: GPL-2.0-only
5
*
6
* Author: Jahanzeb Farooq <jahanzeb.farooq@sophia.inria.fr>
7
*/
8
9
#ifndef BURST_PROFILE_MANAGER_H
10
#define BURST_PROFILE_MANAGER_H
11
12
#include "
cid.h
"
13
#include "
wimax-net-device.h
"
14
#include "
wimax-phy.h
"
15
16
#include <stdint.h>
17
18
namespace
ns3
19
{
20
21
class
SSRecord;
22
class
RngReq;
23
24
/**
25
* \ingroup wimax
26
*
27
* Profile manager for burst communications
28
*/
29
class
BurstProfileManager
:
public
Object
30
{
31
public
:
32
/**
33
* \brief Get the type ID.
34
* \return the object TypeId
35
*/
36
static
TypeId
GetTypeId
();
37
/**
38
* Constructor
39
*
40
* \param device WIMAX device
41
*/
42
BurstProfileManager
(
Ptr<WimaxNetDevice>
device);
43
~BurstProfileManager
()
override
;
44
45
// Delete copy constructor and assignment operator to avoid misuse
46
BurstProfileManager
(
const
BurstProfileManager
&) =
delete
;
47
BurstProfileManager
&
operator=
(
const
BurstProfileManager
&) =
delete
;
48
49
void
DoDispose
()
override
;
50
/**
51
* \returns the number of available burst profile
52
*/
53
uint16_t
GetNrBurstProfilesToDefine
();
54
55
/**
56
* \brief returns the modulation type of a given iuc
57
* \param direction should be uplink or downlink
58
* \param iuc the iuc
59
* \returns the modulation type of the selected iuc
60
*/
61
WimaxPhy::ModulationType
GetModulationType
(uint8_t iuc,
62
WimaxNetDevice::Direction
direction)
const
;
63
64
/**
65
* \brief returns the burst profile
66
* \param modulationType
67
* \param direction should be uplink or downlink
68
* \returns the modulation type of the selected iuc
69
*/
70
uint8_t
GetBurstProfile
(
WimaxPhy::ModulationType
modulationType,
71
WimaxNetDevice::Direction
direction)
const
;
72
73
/**
74
* \brief Get burst profile for SS
75
* \param modulationType
76
* \param ssRecord
77
* \param rngreq
78
* \returns the burst profile for SS
79
*/
80
uint8_t
GetBurstProfileForSS
(
const
SSRecord
* ssRecord,
81
const
RngReq
* rngreq,
82
WimaxPhy::ModulationType
& modulationType)
const
;
83
/**
84
* \brief Get module ation type for SS
85
* \param ssRecord
86
* \param rngreq
87
* \returns the burst profile for SS
88
*/
89
WimaxPhy::ModulationType
GetModulationTypeForSS
(
const
SSRecord
* ssRecord,
90
const
RngReq
* rngreq)
const
;
91
/**
92
* \brief Get burst profile to request
93
* \returns the burst profile for SS
94
*/
95
uint8_t
GetBurstProfileToRequest
();
96
97
private
:
98
Ptr<WimaxNetDevice>
m_device
;
///< the device
99
};
100
101
}
// namespace ns3
102
103
#endif
/* BURST_PROFILE_MANAGER_H */
cid.h
ns3::BurstProfileManager
Profile manager for burst communications.
Definition
burst-profile-manager.h:30
ns3::BurstProfileManager::m_device
Ptr< WimaxNetDevice > m_device
the device
Definition
burst-profile-manager.h:98
ns3::BurstProfileManager::BurstProfileManager
BurstProfileManager(Ptr< WimaxNetDevice > device)
Constructor.
Definition
burst-profile-manager.cc:36
ns3::BurstProfileManager::GetModulationTypeForSS
WimaxPhy::ModulationType GetModulationTypeForSS(const SSRecord *ssRecord, const RngReq *rngreq) const
Get module ation type for SS.
Definition
burst-profile-manager.cc:144
ns3::BurstProfileManager::GetBurstProfile
uint8_t GetBurstProfile(WimaxPhy::ModulationType modulationType, WimaxNetDevice::Direction direction) const
returns the burst profile
Definition
burst-profile-manager.cc:96
ns3::BurstProfileManager::GetBurstProfileToRequest
uint8_t GetBurstProfileToRequest()
Get burst profile to request.
Definition
burst-profile-manager.cc:150
ns3::BurstProfileManager::GetTypeId
static TypeId GetTypeId()
Get the type ID.
Definition
burst-profile-manager.cc:29
ns3::BurstProfileManager::~BurstProfileManager
~BurstProfileManager() override
Definition
burst-profile-manager.cc:41
ns3::BurstProfileManager::BurstProfileManager
BurstProfileManager(const BurstProfileManager &)=delete
ns3::BurstProfileManager::operator=
BurstProfileManager & operator=(const BurstProfileManager &)=delete
ns3::BurstProfileManager::GetNrBurstProfilesToDefine
uint16_t GetNrBurstProfilesToDefine()
Definition
burst-profile-manager.cc:53
ns3::BurstProfileManager::GetBurstProfileForSS
uint8_t GetBurstProfileForSS(const SSRecord *ssRecord, const RngReq *rngreq, WimaxPhy::ModulationType &modulationType) const
Get burst profile for SS.
Definition
burst-profile-manager.cc:131
ns3::BurstProfileManager::DoDispose
void DoDispose() override
Destructor implementation.
Definition
burst-profile-manager.cc:47
ns3::BurstProfileManager::GetModulationType
WimaxPhy::ModulationType GetModulationType(uint8_t iuc, WimaxNetDevice::Direction direction) const
returns the modulation type of a given iuc
Definition
burst-profile-manager.cc:62
ns3::Object
A base class which provides memory management and object aggregation.
Definition
object.h:78
ns3::Ptr
Smart pointer class similar to boost::intrusive_ptr.
Definition
mpi-test-fixtures.h:37
ns3::RngReq
This class implements the ranging request message described by "IEEE Standard forLocal and metropolit...
Definition
mac-messages.h:652
ns3::SSRecord
This class is used by the base station to store some information related to subscriber station in the...
Definition
ss-record.h:35
ns3::TypeId
a unique identifier for an interface.
Definition
type-id.h:48
ns3::WimaxNetDevice::Direction
Direction
Direction enumeration.
Definition
wimax-net-device.h:64
ns3::WimaxPhy::ModulationType
ModulationType
ModulationType enumeration.
Definition
wimax-phy.h:43
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
wimax-net-device.h
wimax-phy.h
src
wimax
model
burst-profile-manager.h
Generated on Fri Nov 8 2024 13:59:09 for ns-3 by
1.11.0