28 #include "ns3/header.h"
219 int32_t leftBacklogged =
220 left.
GetUlJob()->GetServiceFlow()->GetRecord()->GetBacklogged();
221 int32_t rightBacklogged =
222 left.
GetUlJob()->GetServiceFlow()->GetRecord()->GetBacklogged();
223 return leftBacklogged <= rightBacklogged;
243 if (left->GetPriority() < right->GetPriority())
247 else if (left->GetPriority() == right->GetPriority())
249 int32_t leftBacklogged =
250 left->GetUlJob()->GetServiceFlow()->GetRecord()->GetBacklogged();
251 int32_t rightBacklogged =
252 left->GetUlJob()->GetServiceFlow()->GetRecord()->GetBacklogged();
253 return leftBacklogged <= rightBacklogged;
A base class which provides memory management and object aggregation.
void SetUlJob(Ptr< UlJob > job)
Set UL job.
Ptr< UlJob > GetUlJob() const
Get UL job function.
void SetPriority(int priority)
Set priority.
int GetPriority() const
Get priority.
PriorityUlJob()
this class implements an auxiliary struct to compute the priority of the rtPS and nrtPS in the interm...
Ptr< UlJob > m_job
the job
int m_priority
the priority
Smart pointer class similar to boost::intrusive_ptr.
This class is used by the base station to store some information related to subscriber station in the...
This class implements service flows as described by the IEEE-802.16 standard.
SchedulingType
section 11.13.11 Service flow scheduling type, page 701
Simulation virtual time values and global simulation resolution.
this class implements a structure to compute the priority of service flows
void SetSize(uint32_t size)
Set size.
SSRecord * GetSsRecord() const
Get SS record.
void SetServiceFlow(ServiceFlow *serviceFlow)
Set service flow.
void SetSsRecord(SSRecord *ssRecord)
Set SS record.
ServiceFlow * m_serviceFlow
service flow
ServiceFlow::SchedulingType GetSchedulingType() const
Get scheduling type.
ReqType m_type
Type of request, DATA or Unicast req slots.
friend bool operator==(const UlJob &a, const UlJob &b)
equality operator
JobPriority
Job priority enumeration.
SSRecord * m_ssRecord
Pointer to SSRecord.
uint32_t m_size
Number of minislots requested.
void SetReleaseTime(Time releaseTime)
Set release time.
Time GetReleaseTime() const
Get release time.
Time m_deadline
Request should be satisfied by this time.
void SetSchedulingType(ServiceFlow::SchedulingType schedulingType)
Set scheduling type.
uint32_t GetSize() const
Get size.
void SetType(ReqType type)
Set type.
void SetPeriod(Time period)
Set period.
Time m_releaseTime
The time after which the job can be processed.
Time GetDeadline() const
Get deadline.
Time GetPeriod() const
Get period.
ServiceFlow * GetServiceFlow() const
Get service flow.
ReqType GetType() const
Get type.
ServiceFlow::SchedulingType m_schedulingType
Scheduling type of flow.
Time m_period
For periodic jobs.
void SetDeadline(Time deadline)
Set deadline.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
ReqType
Request type enumeration.
bool operator()(PriorityUlJob &left, PriorityUlJob &right) const
comparison operator
SortProcessPtr structure.
bool operator()(Ptr< PriorityUlJob > &left, Ptr< PriorityUlJob > &right) const
comparison operator