A Discrete-Event Network Simulator
API
ns3::UlJob Class Reference

this class implements a structure to compute the priority of service flows More...

#include "ul-job.h"

+ Inheritance diagram for ns3::UlJob:
+ Collaboration diagram for ns3::UlJob:

Public Types

enum  JobPriority { LOW , INTERMEDIATE , HIGH }
 Job priority enumeration. More...
 

Public Member Functions

 UlJob (void)
 
virtual ~UlJob (void)
 
Time GetDeadline (void)
 Get deadline. More...
 
Time GetPeriod (void)
 Get period. More...
 
Time GetReleaseTime (void)
 Get release time. More...
 
enum ServiceFlow::SchedulingType GetSchedulingType (void)
 Get scheduling type. More...
 
ServiceFlowGetServiceFlow (void)
 Get service flow. More...
 
uint32_t GetSize (void)
 Get size. More...
 
SSRecordGetSsRecord (void)
 Get SS record. More...
 
ReqType GetType (void)
 Get type. More...
 
void SetDeadline (Time deadline)
 Set deadline. More...
 
void SetPeriod (Time period)
 Set period. More...
 
void SetReleaseTime (Time releaseTime)
 Set release time. More...
 
void SetSchedulingType (ServiceFlow::SchedulingType schedulingType)
 Set scheduling type. More...
 
void SetServiceFlow (ServiceFlow *serviceFlow)
 Set service flow. More...
 
void SetSize (uint32_t size)
 Set size. More...
 
void SetSsRecord (SSRecord *ssRecord)
 Set SS record. More...
 
void SetType (ReqType type)
 Set type. More...
 
- Public Member Functions inherited from ns3::Object
 Object ()
 Constructor. More...
 
virtual ~Object ()
 Destructor. More...
 
void AggregateObject (Ptr< Object > other)
 Aggregate two Objects together. More...
 
void Dispose (void)
 Dispose of this Object. More...
 
AggregateIterator GetAggregateIterator (void) const
 Get an iterator to the Objects aggregated to this one. More...
 
virtual TypeId GetInstanceTypeId (void) const
 Get the most derived TypeId for this Object. More...
 
template<>
Ptr< ObjectGetObject () const
 Specialization of () for objects of type ns3::Object. More...
 
template<typename T >
Ptr< T > GetObject (TypeId tid) const
 Get a pointer to the requested aggregated Object by TypeId. More...
 
template<>
Ptr< ObjectGetObject (TypeId tid) const
 Specialization of (TypeId tid) for objects of type ns3::Object. More...
 
template<typename T >
Ptr< T > GetObject (void) const
 Get a pointer to the requested aggregated Object. More...
 
void Initialize (void)
 Invoke DoInitialize on all Objects aggregated to this one. More...
 
bool IsInitialized (void) const
 Check if the object has been initialized. More...
 
- Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
 SimpleRefCount ()
 Default constructor. More...
 
 SimpleRefCount (const SimpleRefCount &o[[maybe_unused]])
 Copy constructor. More...
 
uint32_t GetReferenceCount (void) const
 Get the reference count of the object. More...
 
SimpleRefCountoperator= ([[maybe_unused]] const SimpleRefCount &o)
 Assignment operator. More...
 
void Ref (void) const
 Increment the reference count. More...
 
void Unref (void) const
 Decrement the reference count. More...
 
- Public Member Functions inherited from ns3::ObjectBase
virtual ~ObjectBase ()
 Virtual destructor. More...
 
void GetAttribute (std::string name, AttributeValue &value) const
 Get the value of an attribute, raising fatal errors if unsuccessful. More...
 
bool GetAttributeFailSafe (std::string name, AttributeValue &value) const
 Get the value of an attribute without raising erros. More...
 
void SetAttribute (std::string name, const AttributeValue &value)
 Set a single attribute, raising fatal errors if unsuccessful. More...
 
bool SetAttributeFailSafe (std::string name, const AttributeValue &value)
 Set a single attribute without raising errors. More...
 
bool TraceConnect (std::string name, std::string context, const CallbackBase &cb)
 Connect a TraceSource to a Callback with a context. More...
 
bool TraceConnectWithoutContext (std::string name, const CallbackBase &cb)
 Connect a TraceSource to a Callback without a context. More...
 
bool TraceDisconnect (std::string name, std::string context, const CallbackBase &cb)
 Disconnect from a TraceSource a Callback previously connected with a context. More...
 
bool TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb)
 Disconnect from a TraceSource a Callback previously connected without a context. More...
 

Private Attributes

Time m_deadline
 Request should be satisfied by this time. More...
 
Time m_period
 For periodic jobs. More...
 
Time m_releaseTime
 The time after which the job can be processed. More...
 
enum ServiceFlow::SchedulingType m_schedulingType
 Scheduling type of flow. More...
 
ServiceFlowm_serviceFlow
 service flow More...
 
uint32_t m_size
 Number of minislots requested. More...
 
SSRecordm_ssRecord
 Pointer to SSRecord. More...
 
ReqType m_type
 Type of request, DATA or Unicast req slots. More...
 

Friends

bool operator== (const UlJob &a, const UlJob &b)
 equality operator More...
 

Additional Inherited Members

- Static Public Member Functions inherited from ns3::Object
static TypeId GetTypeId (void)
 Register this type. More...
 
- Static Public Member Functions inherited from ns3::ObjectBase
static TypeId GetTypeId (void)
 Get the type ID. More...
 
- Protected Member Functions inherited from ns3::Object
 Object (const Object &o)
 Copy an Object. More...
 
virtual void DoDispose (void)
 Destructor implementation. More...
 
virtual void DoInitialize (void)
 Initialize() implementation. More...
 
virtual void NotifyNewAggregate (void)
 Notify all Objects aggregated to this one of a new Object being aggregated. More...
 
- Protected Member Functions inherited from ns3::ObjectBase
void ConstructSelf (const AttributeConstructionList &attributes)
 Complete construction of ObjectBase; invoked by derived classes. More...
 
virtual void NotifyConstructionCompleted (void)
 Notifier called once the ObjectBase is fully constructed. More...
 

Detailed Description

this class implements a structure to compute the priority of service flows

Definition at line 47 of file ul-job.h.

Member Enumeration Documentation

◆ JobPriority

Job priority enumeration.

Enumerator
LOW 
INTERMEDIATE 
HIGH 

Definition at line 51 of file ul-job.h.

Constructor & Destructor Documentation

◆ UlJob()

ns3::UlJob::UlJob ( void  )

Definition at line 27 of file ul-job.cc.

◆ ~UlJob()

ns3::UlJob::~UlJob ( void  )
virtual

Definition at line 31 of file ul-job.cc.

Member Function Documentation

◆ GetDeadline()

Time ns3::UlJob::GetDeadline ( void  )

Get deadline.

Returns
the deadline time

Definition at line 106 of file ul-job.cc.

References m_deadline.

◆ GetPeriod()

Time ns3::UlJob::GetPeriod ( void  )

Get period.

Returns
the period time

Definition at line 95 of file ul-job.cc.

References m_period.

◆ GetReleaseTime()

Time ns3::UlJob::GetReleaseTime ( void  )

Get release time.

Returns
the release time

Definition at line 83 of file ul-job.cc.

References m_releaseTime.

◆ GetSchedulingType()

enum ServiceFlow::SchedulingType ns3::UlJob::GetSchedulingType ( void  )

Get scheduling type.

Returns
the scheduling type

Definition at line 41 of file ul-job.cc.

References m_ssRecord.

◆ GetServiceFlow()

ServiceFlow * ns3::UlJob::GetServiceFlow ( void  )

Get service flow.

Returns
the service flow

Definition at line 71 of file ul-job.cc.

References m_serviceFlow.

◆ GetSize()

uint32_t ns3::UlJob::GetSize ( void  )

Get size.

Returns
the size

Definition at line 117 of file ul-job.cc.

References m_size.

◆ GetSsRecord()

SSRecord * ns3::UlJob::GetSsRecord ( void  )

Get SS record.

Returns
the SS record

Definition at line 36 of file ul-job.cc.

References m_ssRecord.

◆ GetType()

ReqType ns3::UlJob::GetType ( void  )

Get type.

Returns
the request type

Definition at line 59 of file ul-job.cc.

References m_type.

◆ SetDeadline()

void ns3::UlJob::SetDeadline ( Time  deadline)

Set deadline.

Parameters
deadlinethe dead line

Definition at line 111 of file ul-job.cc.

References m_deadline.

◆ SetPeriod()

void ns3::UlJob::SetPeriod ( Time  period)

Set period.

Parameters
periodthe period

Definition at line 100 of file ul-job.cc.

References m_period.

◆ SetReleaseTime()

void ns3::UlJob::SetReleaseTime ( Time  releaseTime)

Set release time.

Parameters
releaseTimethe release time

Definition at line 89 of file ul-job.cc.

References m_releaseTime.

◆ SetSchedulingType()

void ns3::UlJob::SetSchedulingType ( ServiceFlow::SchedulingType  schedulingType)

Set scheduling type.

Parameters
schedulingTypethe scheduling type

Definition at line 53 of file ul-job.cc.

References m_schedulingType.

◆ SetServiceFlow()

void ns3::UlJob::SetServiceFlow ( ServiceFlow serviceFlow)

Set service flow.

Parameters
serviceFlow

Definition at line 77 of file ul-job.cc.

References m_serviceFlow.

◆ SetSize()

void ns3::UlJob::SetSize ( uint32_t  size)

Set size.

Parameters
sizethe size

Definition at line 123 of file ul-job.cc.

References m_size.

◆ SetSsRecord()

void ns3::UlJob::SetSsRecord ( SSRecord ssRecord)

Set SS record.

Parameters
ssRecordthe SS record

Definition at line 41 of file ul-job.cc.

◆ SetType()

void ns3::UlJob::SetType ( ReqType  type)

Set type.

Parameters
typethe type

Definition at line 65 of file ul-job.cc.

References m_type.

Friends And Related Function Documentation

◆ operator==

bool operator== ( const UlJob a,
const UlJob b 
)
friend

equality operator

Parameters
afirst ULJob
bsecond ULJob
Returns
true if equal

Definition at line 134 of file ul-job.cc.

Member Data Documentation

◆ m_deadline

Time ns3::UlJob::m_deadline
private

Request should be satisfied by this time.

Definition at line 153 of file ul-job.h.

Referenced by GetDeadline(), and SetDeadline().

◆ m_period

Time ns3::UlJob::m_period
private

For periodic jobs.

Definition at line 152 of file ul-job.h.

Referenced by GetPeriod(), and SetPeriod().

◆ m_releaseTime

Time ns3::UlJob::m_releaseTime
private

The time after which the job can be processed.

Definition at line 151 of file ul-job.h.

Referenced by GetReleaseTime(), and SetReleaseTime().

◆ m_schedulingType

enum ServiceFlow::SchedulingType ns3::UlJob::m_schedulingType
private

Scheduling type of flow.

Definition at line 154 of file ul-job.h.

Referenced by SetSchedulingType().

◆ m_serviceFlow

ServiceFlow* ns3::UlJob::m_serviceFlow
private

service flow

Definition at line 160 of file ul-job.h.

Referenced by GetServiceFlow(), and SetServiceFlow().

◆ m_size

uint32_t ns3::UlJob::m_size
private

Number of minislots requested.

Definition at line 154 of file ul-job.h.

Referenced by GetSize(), and SetSize().

◆ m_ssRecord

SSRecord* ns3::UlJob::m_ssRecord
private

Pointer to SSRecord.

Definition at line 157 of file ul-job.h.

Referenced by GetSchedulingType(), and GetSsRecord().

◆ m_type

ReqType ns3::UlJob::m_type
private

Type of request, DATA or Unicast req slots.

Definition at line 159 of file ul-job.h.

Referenced by GetType(), and SetType().


The documentation for this class was generated from the following files: