A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
bs-uplink-scheduler.cc
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
10
11#include "bandwidth-manager.h"
12#include "bs-link-manager.h"
13#include "bs-net-device.h"
15#include "cid.h"
16#include "service-flow-record.h"
17#include "service-flow.h"
18#include "ss-manager.h"
19#include "ss-record.h"
20
21#include "ns3/log.h"
22#include "ns3/simulator.h"
23#include "ns3/uinteger.h"
24
25namespace ns3
26{
27
28NS_LOG_COMPONENT_DEFINE("UplinkScheduler");
29
30NS_OBJECT_ENSURE_REGISTERED(UplinkScheduler);
31
33 : m_bs(nullptr),
34 m_timeStampIrInterval(Seconds(0)),
35 m_nrIrOppsAllocated(0),
36 m_isIrIntrvlAllocated(false),
37 m_isInvIrIntrvlAllocated(false),
38 m_dcdTimeStamp(Simulator::Now()),
39 m_ucdTimeStamp(Simulator::Now())
40{
41}
42
44 : m_bs(bs),
45 m_timeStampIrInterval(Seconds(0)),
46 m_nrIrOppsAllocated(0),
47 m_isIrIntrvlAllocated(false),
48 m_isInvIrIntrvlAllocated(false),
49 m_dcdTimeStamp(Simulator::Now()),
50 m_ucdTimeStamp(Simulator::Now())
51{
52}
53
59
60void
64
67{
68 static TypeId tid = TypeId("ns3::UplinkScheduler").SetParent<Object>().SetGroupName("Wimax");
69 return tid;
70}
71
72uint8_t
77
78void
79UplinkScheduler::SetNrIrOppsAllocated(uint8_t nrIrOppsAllocated)
80{
81 m_nrIrOppsAllocated = nrIrOppsAllocated;
82}
83
84bool
89
90void
92{
93 m_isIrIntrvlAllocated = isIrIntrvlAllocated;
94}
95
96bool
101
102void
104{
105 m_isInvIrIntrvlAllocated = isInvIrIntrvlAllocated;
106}
107
108Time
113
114void
116{
117 m_dcdTimeStamp = dcdTimeStamp;
118}
119
120Time
125
126void
128{
129 m_ucdTimeStamp = ucdTimeStamp;
130}
131
132std::list<OfdmUlMapIe>
137
138Time
143
144void
146{
147 m_timeStampIrInterval = timeStampIrInterval;
148}
149
152{
153 return m_bs;
154}
155
156void
161} // namespace ns3
A base class which provides memory management and object aggregation.
Definition object.h:78
Smart pointer class similar to boost::intrusive_ptr.
Control the scheduling of simulation events.
Definition simulator.h:57
Simulation virtual time values and global simulation resolution.
Definition nstime.h:94
a unique identifier for an interface.
Definition type-id.h:48
TypeId SetParent(TypeId tid)
Set the parent TypeId.
Definition type-id.cc:1001
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
Definition log.h:191
#define NS_OBJECT_ENSURE_REGISTERED(type)
Register an Object subclass with the TypeId system.
Definition object-base.h:35
Time Now()
create an ns3::Time instance which contains the current simulation time.
Definition simulator.cc:294
Time Seconds(double value)
Construct a Time in the indicated unit.
Definition nstime.h:1308
Every class exported by the ns3 library is enclosed in the ns3 namespace.