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
ss-scheduler.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
/* SS outbound scheduler as per in Section 6.3.5.1 */
10
11
#ifndef SS_SCHEDULER_H
12
#define SS_SCHEDULER_H
13
14
#include "
wimax-mac-header.h
"
15
#include "
wimax-phy.h
"
16
17
#include "ns3/packet-burst.h"
18
#include "ns3/packet.h"
19
20
#include <stdint.h>
21
22
namespace
ns3
23
{
24
25
class
SubscriberStationNetDevice;
26
class
WimaxConnection;
27
28
/**
29
* \ingroup wimax
30
* \param SSScheduler class
31
*/
32
class
SSScheduler
:
public
Object
33
{
34
public
:
35
/**
36
* \brief Get the type ID.
37
* \return the object TypeId
38
*/
39
static
TypeId
GetTypeId
();
40
/**
41
* Constructor
42
*
43
* \param ss subscriber station device
44
*/
45
SSScheduler
(
Ptr<SubscriberStationNetDevice>
ss);
46
~SSScheduler
()
override
;
47
48
// Delete copy constructor and assignment operator to avoid misuse
49
SSScheduler
(
const
SSScheduler
&) =
delete
;
50
SSScheduler
&
operator=
(
const
SSScheduler
&) =
delete
;
51
52
/**
53
* Set poll me value
54
* \param pollMe the poll me flag
55
*/
56
void
SetPollMe
(
bool
pollMe);
57
/**
58
* Get the poll me value
59
* \returns the poll me flag
60
*/
61
bool
GetPollMe
()
const
;
62
/**
63
* \return a list of packet to be sent in the next opportunity
64
* \param availableSymbols the available resources in symbols
65
* \param modulationType the used modulation
66
* \param packetType the type of packets to select from
67
* \param connection the connection from which packets will be selected
68
*/
69
Ptr<PacketBurst>
Schedule
(uint16_t availableSymbols,
70
WimaxPhy::ModulationType
modulationType,
71
MacHeaderType::HeaderType
packetType,
72
Ptr<WimaxConnection>
& connection);
73
74
void
DoDispose
()
override
;
75
76
private
:
77
/**
78
* Select connection
79
* \returns pointer to the wimax connection
80
*/
81
Ptr<WimaxConnection>
SelectConnection
();
82
Ptr<SubscriberStationNetDevice>
m_ss
;
///< the subscriber station
83
bool
m_pollMe
;
///< poll me flag
84
};
85
86
}
// namespace ns3
87
88
#endif
/* SS_SCHEDULER_H */
ns3::MacHeaderType::HeaderType
HeaderType
Header type enumeration.
Definition
wimax-mac-header.h:31
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::SSScheduler
Definition
ss-scheduler.h:33
ns3::SSScheduler::SSScheduler
SSScheduler(Ptr< SubscriberStationNetDevice > ss)
Constructor.
Definition
ss-scheduler.cc:38
ns3::SSScheduler::operator=
SSScheduler & operator=(const SSScheduler &)=delete
ns3::SSScheduler::m_pollMe
bool m_pollMe
poll me flag
Definition
ss-scheduler.h:83
ns3::SSScheduler::SSScheduler
SSScheduler(const SSScheduler &)=delete
ns3::SSScheduler::DoDispose
void DoDispose() override
Destructor implementation.
Definition
ss-scheduler.cc:49
ns3::SSScheduler::Schedule
Ptr< PacketBurst > Schedule(uint16_t availableSymbols, WimaxPhy::ModulationType modulationType, MacHeaderType::HeaderType packetType, Ptr< WimaxConnection > &connection)
Definition
ss-scheduler.cc:67
ns3::SSScheduler::GetTypeId
static TypeId GetTypeId()
Get the type ID.
Definition
ss-scheduler.cc:32
ns3::SSScheduler::m_ss
Ptr< SubscriberStationNetDevice > m_ss
the subscriber station
Definition
ss-scheduler.h:82
ns3::SSScheduler::SetPollMe
void SetPollMe(bool pollMe)
Set poll me value.
Definition
ss-scheduler.cc:55
ns3::SSScheduler::SelectConnection
Ptr< WimaxConnection > SelectConnection()
Select connection.
Definition
ss-scheduler.cc:156
ns3::SSScheduler::GetPollMe
bool GetPollMe() const
Get the poll me value.
Definition
ss-scheduler.cc:61
ns3::SSScheduler::~SSScheduler
~SSScheduler() override
Definition
ss-scheduler.cc:44
ns3::TypeId
a unique identifier for an interface.
Definition
type-id.h:48
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-mac-header.h
wimax-phy.h
src
wimax
model
ss-scheduler.h
Generated on Fri Nov 8 2024 13:59:09 for ns-3 by
1.11.0