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