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
ul-job.cc
Go to the documentation of this file.
1
/*
2
* Copyright (c)
3
*
4
* SPDX-License-Identifier: GPL-2.0-only
5
*
6
* Author: Juliana Freitag Borin, Flavio Kubota and Nelson L.
7
* S. da Fonseca - wimaxgroup@lrc.ic.unicamp.br
8
*/
9
10
#include "
ul-job.h
"
11
12
#include <stdint.h>
13
14
namespace
ns3
15
{
16
17
UlJob::UlJob
()
18
: m_deadline(
Seconds
(0)),
19
m_size(0)
20
{
21
}
22
23
UlJob::~UlJob
()
24
{
25
}
26
27
SSRecord
*
28
UlJob::GetSsRecord
()
const
29
{
30
return
m_ssRecord
;
31
}
32
33
void
34
UlJob::SetSsRecord
(
SSRecord
* ssRecord)
35
{
36
m_ssRecord
= ssRecord;
37
}
38
39
ServiceFlow::SchedulingType
40
UlJob::GetSchedulingType
()
const
41
{
42
return
m_schedulingType
;
43
}
44
45
void
46
UlJob::SetSchedulingType
(
ServiceFlow::SchedulingType
schedulingType)
47
{
48
m_schedulingType
= schedulingType;
49
}
50
51
ReqType
52
UlJob::GetType
()
const
53
{
54
return
m_type
;
55
}
56
57
void
58
UlJob::SetType
(
ReqType
type)
59
{
60
m_type
= type;
61
}
62
63
ServiceFlow
*
64
UlJob::GetServiceFlow
()
const
65
{
66
return
m_serviceFlow
;
67
}
68
69
void
70
UlJob::SetServiceFlow
(
ServiceFlow
* serviceFlow)
71
{
72
m_serviceFlow
= serviceFlow;
73
}
74
75
Time
76
UlJob::GetReleaseTime
()
const
77
{
78
return
m_releaseTime
;
79
}
80
81
void
82
UlJob::SetReleaseTime
(
Time
releaseTime)
83
{
84
m_releaseTime
= releaseTime;
85
}
86
87
Time
88
UlJob::GetPeriod
()
const
89
{
90
return
m_period
;
91
}
92
93
void
94
UlJob::SetPeriod
(
Time
period)
95
{
96
m_period
= period;
97
}
98
99
Time
100
UlJob::GetDeadline
()
const
101
{
102
return
m_deadline
;
103
}
104
105
void
106
UlJob::SetDeadline
(
Time
deadline)
107
{
108
m_deadline
= deadline;
109
}
110
111
uint32_t
112
UlJob::GetSize
()
const
113
{
114
return
m_size
;
115
}
116
117
void
118
UlJob::SetSize
(
uint32_t
size)
119
{
120
m_size
= size;
121
}
122
123
/**
124
* \brief equality operator
125
* \param a first ULJob
126
* \param b second ULJob
127
* \returns true if equal
128
*/
129
bool
130
operator==
(
const
UlJob
& a,
const
UlJob
& b)
131
{
132
return
a.
GetServiceFlow
() == b.
GetServiceFlow
() && a.
GetSsRecord
() == b.
GetSsRecord
();
133
}
134
135
PriorityUlJob::PriorityUlJob
()
136
{
137
}
138
139
int
140
PriorityUlJob::GetPriority
()
const
141
{
142
return
m_priority
;
143
}
144
145
void
146
PriorityUlJob::SetPriority
(
int
priority)
147
{
148
m_priority
= priority;
149
}
150
151
Ptr<UlJob>
152
PriorityUlJob::GetUlJob
()
const
153
{
154
return
m_job
;
155
}
156
157
void
158
PriorityUlJob::SetUlJob
(
Ptr<UlJob>
job)
159
{
160
m_job
= job;
161
}
162
163
}
// namespace ns3
ns3::PriorityUlJob::SetUlJob
void SetUlJob(Ptr< UlJob > job)
Set UL job.
Definition
ul-job.cc:158
ns3::PriorityUlJob::GetUlJob
Ptr< UlJob > GetUlJob() const
Get UL job function.
Definition
ul-job.cc:152
ns3::PriorityUlJob::SetPriority
void SetPriority(int priority)
Set priority.
Definition
ul-job.cc:146
ns3::PriorityUlJob::GetPriority
int GetPriority() const
Get priority.
Definition
ul-job.cc:140
ns3::PriorityUlJob::PriorityUlJob
PriorityUlJob()
this class implements an auxiliary struct to compute the priority of the rtPS and nrtPS in the interm...
Definition
ul-job.cc:135
ns3::PriorityUlJob::m_job
Ptr< UlJob > m_job
the job
Definition
ul-job.h:188
ns3::PriorityUlJob::m_priority
int m_priority
the priority
Definition
ul-job.h:187
ns3::Ptr
Smart pointer class similar to boost::intrusive_ptr.
Definition
mpi-test-fixtures.h:37
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::ServiceFlow
This class implements service flows as described by the IEEE-802.16 standard.
Definition
service-flow.h:32
ns3::ServiceFlow::SchedulingType
SchedulingType
section 11.13.11 Service flow scheduling type, page 701
Definition
service-flow.h:51
ns3::Time
Simulation virtual time values and global simulation resolution.
Definition
nstime.h:94
ns3::UlJob
this class implements a structure to compute the priority of service flows
Definition
ul-job.h:39
ns3::UlJob::SetSize
void SetSize(uint32_t size)
Set size.
Definition
ul-job.cc:118
ns3::UlJob::GetSsRecord
SSRecord * GetSsRecord() const
Get SS record.
Definition
ul-job.cc:28
ns3::UlJob::SetServiceFlow
void SetServiceFlow(ServiceFlow *serviceFlow)
Set service flow.
Definition
ul-job.cc:70
ns3::UlJob::SetSsRecord
void SetSsRecord(SSRecord *ssRecord)
Set SS record.
Definition
ul-job.cc:34
ns3::UlJob::m_serviceFlow
ServiceFlow * m_serviceFlow
service flow
Definition
ul-job.h:150
ns3::UlJob::GetSchedulingType
ServiceFlow::SchedulingType GetSchedulingType() const
Get scheduling type.
Definition
ul-job.cc:40
ns3::UlJob::m_type
ReqType m_type
Type of request, DATA or Unicast req slots.
Definition
ul-job.h:149
ns3::UlJob::m_ssRecord
SSRecord * m_ssRecord
Pointer to SSRecord.
Definition
ul-job.h:147
ns3::UlJob::m_size
uint32_t m_size
Number of minislots requested.
Definition
ul-job.h:144
ns3::UlJob::UlJob
UlJob()
Definition
ul-job.cc:17
ns3::UlJob::SetReleaseTime
void SetReleaseTime(Time releaseTime)
Set release time.
Definition
ul-job.cc:82
ns3::UlJob::GetReleaseTime
Time GetReleaseTime() const
Get release time.
Definition
ul-job.cc:76
ns3::UlJob::m_deadline
Time m_deadline
Request should be satisfied by this time.
Definition
ul-job.h:143
ns3::UlJob::SetSchedulingType
void SetSchedulingType(ServiceFlow::SchedulingType schedulingType)
Set scheduling type.
Definition
ul-job.cc:46
ns3::UlJob::GetSize
uint32_t GetSize() const
Get size.
Definition
ul-job.cc:112
ns3::UlJob::SetType
void SetType(ReqType type)
Set type.
Definition
ul-job.cc:58
ns3::UlJob::SetPeriod
void SetPeriod(Time period)
Set period.
Definition
ul-job.cc:94
ns3::UlJob::m_releaseTime
Time m_releaseTime
The time after which the job can be processed.
Definition
ul-job.h:141
ns3::UlJob::GetDeadline
Time GetDeadline() const
Get deadline.
Definition
ul-job.cc:100
ns3::UlJob::GetPeriod
Time GetPeriod() const
Get period.
Definition
ul-job.cc:88
ns3::UlJob::GetServiceFlow
ServiceFlow * GetServiceFlow() const
Get service flow.
Definition
ul-job.cc:64
ns3::UlJob::GetType
ReqType GetType() const
Get type.
Definition
ul-job.cc:52
ns3::UlJob::m_schedulingType
ServiceFlow::SchedulingType m_schedulingType
Scheduling type of flow.
Definition
ul-job.h:145
ns3::UlJob::~UlJob
~UlJob() override
Definition
ul-job.cc:23
ns3::UlJob::m_period
Time m_period
For periodic jobs.
Definition
ul-job.h:142
ns3::UlJob::SetDeadline
void SetDeadline(Time deadline)
Set deadline.
Definition
ul-job.cc:106
uint32_t
ns3::Seconds
Time Seconds(double value)
Construct a Time in the indicated unit.
Definition
nstime.h:1308
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
ns3::operator==
bool operator==(const EventId &a, const EventId &b)
Definition
event-id.h:155
ns3::ReqType
ReqType
Request type enumeration.
Definition
ul-job.h:29
ul-job.h
src
wimax
model
ul-job.cc
Generated on Fri Nov 8 2024 13:59:09 for ns-3 by
1.11.0