26 #include "ns3/header.h"
221 int32_t leftBacklogged = left.
GetUlJob ()->GetServiceFlow ()->GetRecord ()->GetBacklogged ();
222 int32_t rightBacklogged = left.
GetUlJob ()->GetServiceFlow ()->GetRecord ()->GetBacklogged ();
223 if (leftBacklogged <= rightBacklogged)
250 if (left->GetPriority () < right->GetPriority ())
254 else if (left->GetPriority () == right->GetPriority ())
256 int32_t leftBacklogged = left->GetUlJob ()->GetServiceFlow ()->GetRecord ()->GetBacklogged ();
257 int32_t rightBacklogged = left->GetUlJob ()->GetServiceFlow ()->GetRecord ()->GetBacklogged ();
258 if (leftBacklogged <= rightBacklogged)
A base class which provides memory management and object aggregation.
void SetUlJob(Ptr< UlJob > job)
Set UL job.
int GetPriority(void)
Get priority.
void SetPriority(int priority)
Set priority.
Ptr< UlJob > GetUlJob(void)
Get UL job functiion.
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.
Time GetPeriod(void)
Get period.
void SetServiceFlow(ServiceFlow *serviceFlow)
Set service flow.
void SetSsRecord(SSRecord *ssRecord)
Set SS record.
ServiceFlow * m_serviceFlow
service flow
uint32_t GetSize(void)
Get size.
Time GetReleaseTime(void)
Get release time.
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.
Time GetDeadline(void)
Get deadline.
void SetReleaseTime(Time releaseTime)
Set release time.
ReqType GetType(void)
Get type.
Time m_deadline
Request should be satisfied by this time.
void SetSchedulingType(ServiceFlow::SchedulingType schedulingType)
Set scheduling type.
void SetType(ReqType type)
Set type.
void SetPeriod(Time period)
Set period.
Time m_releaseTime
The time after which the job can be processed.
enum ServiceFlow::SchedulingType m_schedulingType
Scheduling type of flow.
ServiceFlow * GetServiceFlow(void)
Get service flow.
SSRecord * GetSsRecord(void)
Get SS record.
Time m_period
For periodic jobs.
void SetDeadline(Time deadline)
Set deadline.
enum ServiceFlow::SchedulingType GetSchedulingType(void)
Get scheduling type.
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