21 #include "bs-uplink-scheduler.h"
22 #include "bs-net-device.h"
23 #include "ns3/simulator.h"
25 #include "burst-profile-manager.h"
26 #include "ss-manager.h"
28 #include "ns3/uinteger.h"
29 #include "ss-record.h"
30 #include "service-flow.h"
31 #include "service-flow-record.h"
32 #include "bs-link-manager.h"
33 #include "bandwidth-manager.h"
39 NS_OBJECT_ENSURE_REGISTERED (UplinkScheduler);
41 UplinkScheduler::UplinkScheduler (
void)
43 m_timeStampIrInterval (
Seconds (0)),
44 m_nrIrOppsAllocated (0),
45 m_isIrIntrvlAllocated (false),
46 m_isInvIrIntrvlAllocated (false),
47 m_dcdTimeStamp (Simulator::
Now ()),
48 m_ucdTimeStamp (Simulator::
Now ())
52 UplinkScheduler::UplinkScheduler (Ptr<BaseStationNetDevice> bs)
54 m_timeStampIrInterval (
Seconds (0)),
55 m_nrIrOppsAllocated (0),
56 m_isIrIntrvlAllocated (false),
57 m_isInvIrIntrvlAllocated (false),
58 m_dcdTimeStamp (Simulator::
Now ()),
59 m_ucdTimeStamp (Simulator::
Now ())
63 UplinkScheduler::~UplinkScheduler (
void)
66 m_uplinkAllocations.clear ();
69 UplinkScheduler::InitOnce ()
75 UplinkScheduler::GetTypeId (
void)
77 static TypeId tid = TypeId (
"ns3::UplinkScheduler")
84 UplinkScheduler::GetNrIrOppsAllocated (
void)
const
86 return m_nrIrOppsAllocated;
90 UplinkScheduler::SetNrIrOppsAllocated (uint8_t nrIrOppsAllocated)
92 m_nrIrOppsAllocated = nrIrOppsAllocated;
96 UplinkScheduler::GetIsIrIntrvlAllocated (
void)
const
98 return m_isIrIntrvlAllocated;
102 UplinkScheduler::SetIsIrIntrvlAllocated (
bool isIrIntrvlAllocated)
105 m_isIrIntrvlAllocated = isIrIntrvlAllocated;
109 UplinkScheduler::GetIsInvIrIntrvlAllocated (
void)
const
112 return m_isInvIrIntrvlAllocated;
116 UplinkScheduler::SetIsInvIrIntrvlAllocated (
bool isInvIrIntrvlAllocated)
118 m_isInvIrIntrvlAllocated = isInvIrIntrvlAllocated;
122 UplinkScheduler::GetDcdTimeStamp (
void)
const
124 return m_dcdTimeStamp;
128 UplinkScheduler::SetDcdTimeStamp (Time dcdTimeStamp)
130 m_dcdTimeStamp = dcdTimeStamp;
134 UplinkScheduler::GetUcdTimeStamp (
void)
const
136 return m_ucdTimeStamp;
140 UplinkScheduler::SetUcdTimeStamp (Time ucdTimeStamp)
142 m_ucdTimeStamp = ucdTimeStamp;
145 std::list<OfdmUlMapIe>
146 UplinkScheduler::GetUplinkAllocations (
void)
const
148 return m_uplinkAllocations;
152 UplinkScheduler::GetTimeStampIrInterval (
void)
154 return m_timeStampIrInterval;
158 UplinkScheduler::SetTimeStampIrInterval (Time timeStampIrInterval)
160 m_timeStampIrInterval = timeStampIrInterval;
163 Ptr<BaseStationNetDevice>
164 UplinkScheduler::GetBs (
void)
169 UplinkScheduler::SetBs (Ptr<BaseStationNetDevice> bs)
#define NS_LOG_COMPONENT_DEFINE(name)
Time Seconds(double seconds)
create ns3::Time instances in units of seconds.
Time Now(void)
create an ns3::Time instance which contains the current simulation time.