A Discrete-Event Network Simulator
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
18namespace ns3
19{
20
21class SSRecord;
22class RngReq;
23
24/**
25 * \ingroup wimax
26 *
27 * Profile manager for burst communications
28 */
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 */
43 ~BurstProfileManager() override;
44
45 // Delete copy constructor and assignment operator to avoid misuse
48
49 void DoDispose() override;
50 /**
51 * \returns the number of available burst profile
52 */
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 */
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 */
90 const RngReq* rngreq) const;
91 /**
92 * \brief Get burst profile to request
93 * \returns the burst profile for SS
94 */
96
97 private:
99};
100
101} // namespace ns3
102
103#endif /* BURST_PROFILE_MANAGER_H */
Profile manager for burst communications.
Ptr< WimaxNetDevice > m_device
the device
BurstProfileManager(Ptr< WimaxNetDevice > device)
Constructor.
WimaxPhy::ModulationType GetModulationTypeForSS(const SSRecord *ssRecord, const RngReq *rngreq) const
Get module ation type for SS.
uint8_t GetBurstProfile(WimaxPhy::ModulationType modulationType, WimaxNetDevice::Direction direction) const
returns the burst profile
uint8_t GetBurstProfileToRequest()
Get burst profile to request.
static TypeId GetTypeId()
Get the type ID.
BurstProfileManager(const BurstProfileManager &)=delete
BurstProfileManager & operator=(const BurstProfileManager &)=delete
uint8_t GetBurstProfileForSS(const SSRecord *ssRecord, const RngReq *rngreq, WimaxPhy::ModulationType &modulationType) const
Get burst profile for SS.
void DoDispose() override
Destructor implementation.
WimaxPhy::ModulationType GetModulationType(uint8_t iuc, WimaxNetDevice::Direction direction) const
returns the modulation type of a given iuc
A base class which provides memory management and object aggregation.
Definition object.h:78
Smart pointer class similar to boost::intrusive_ptr.
This class implements the ranging request message described by "IEEE Standard forLocal and metropolit...
This class is used by the base station to store some information related to subscriber station in the...
Definition ss-record.h:35
a unique identifier for an interface.
Definition type-id.h:48
Direction
Direction enumeration.
ModulationType
ModulationType enumeration.
Definition wimax-phy.h:43
Every class exported by the ns3 library is enclosed in the ns3 namespace.