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 ()
 
 ~UlJob () override
 
Time GetDeadline () const
 Get deadline. More...
 
Time GetPeriod () const
 Get period. More...
 
Time GetReleaseTime () const
 Get release time. More...
 
ServiceFlow::SchedulingType GetSchedulingType () const
 Get scheduling type. More...
 
ServiceFlowGetServiceFlow () const
 Get service flow. More...
 
uint32_t GetSize () const
 Get size. More...
 
SSRecordGetSsRecord () const
 Get SS record. More...
 
ReqType GetType () const
 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...
 
 ~Object () override
 Destructor. More...
 
void AggregateObject (Ptr< Object > other)
 Aggregate two Objects together. More...
 
void Dispose ()
 Dispose of this Object. More...
 
AggregateIterator GetAggregateIterator () const
 Get an iterator to the Objects aggregated to this one. More...
 
TypeId GetInstanceTypeId () const override
 Get the most derived TypeId for this Object. More...
 
template<typename T >
Ptr< T > GetObject () const
 Get a pointer to the requested aggregated 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...
 
void Initialize ()
 Invoke DoInitialize on all Objects aggregated to this one. More...
 
bool IsInitialized () 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 () const
 Get the reference count of the object. More...
 
SimpleRefCountoperator= (const SimpleRefCount &o[[maybe_unused]])
 Assignment operator. More...
 
void Ref () const
 Increment the reference count. More...
 
void Unref () 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 errors. 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...
 
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 ()
 Register this type. More...
 
- Static Public Member Functions inherited from ns3::ObjectBase
static TypeId GetTypeId ()
 Get the type ID. More...
 
- Protected Member Functions inherited from ns3::Object
 Object (const Object &o)
 Copy an Object. More...
 
virtual void DoDispose ()
 Destructor implementation. More...
 
virtual void DoInitialize ()
 Initialize() implementation. More...
 
virtual void NotifyNewAggregate ()
 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 ()
 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 49 of file ul-job.h.

Member Enumeration Documentation

◆ JobPriority

Job priority enumeration.

Enumerator
LOW 
INTERMEDIATE 
HIGH 

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

Constructor & Destructor Documentation

◆ UlJob()

ns3::UlJob::UlJob ( )

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

◆ ~UlJob()

ns3::UlJob::~UlJob ( )
override

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

Member Function Documentation

◆ GetDeadline()

Time ns3::UlJob::GetDeadline ( ) const

Get deadline.

Returns
the deadline time

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

References m_deadline.

◆ GetPeriod()

Time ns3::UlJob::GetPeriod ( ) const

Get period.

Returns
the period time

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

References m_period.

◆ GetReleaseTime()

Time ns3::UlJob::GetReleaseTime ( ) const

Get release time.

Returns
the release time

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

References m_releaseTime.

◆ GetSchedulingType()

ServiceFlow::SchedulingType ns3::UlJob::GetSchedulingType ( ) const

Get scheduling type.

Returns
the scheduling type

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

References m_schedulingType.

◆ GetServiceFlow()

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

Get service flow.

Returns
the service flow

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

References m_serviceFlow.

◆ GetSize()

uint32_t ns3::UlJob::GetSize ( void  ) const

Get size.

Returns
the size

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

References m_size.

◆ GetSsRecord()

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

Get SS record.

Returns
the SS record

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

References m_ssRecord.

◆ GetType()

ReqType ns3::UlJob::GetType ( ) const

Get type.

Returns
the request type

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

References m_type.

◆ SetDeadline()

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

Set deadline.

Parameters
deadlinethe dead line

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

References m_deadline.

◆ SetPeriod()

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

Set period.

Parameters
periodthe period

Definition at line 105 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 93 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 57 of file ul-job.cc.

References m_schedulingType.

◆ SetServiceFlow()

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

Set service flow.

Parameters
serviceFlow

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

References m_serviceFlow.

◆ SetSize()

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

Set size.

Parameters
sizethe size

Definition at line 129 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 45 of file ul-job.cc.

References m_ssRecord.

◆ SetType()

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

Set type.

Parameters
typethe type

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

References m_type, and check-style-clang-format::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 141 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 154 of file ul-job.h.

Referenced by GetDeadline(), and SetDeadline().

◆ m_period

Time ns3::UlJob::m_period
private

For periodic jobs.

Definition at line 153 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 152 of file ul-job.h.

Referenced by GetReleaseTime(), and SetReleaseTime().

◆ m_schedulingType

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

Scheduling type of flow.

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

Referenced by GetSchedulingType(), and SetSchedulingType().

◆ m_serviceFlow

ServiceFlow* ns3::UlJob::m_serviceFlow
private

service flow

Definition at line 161 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 155 of file ul-job.h.

Referenced by GetSize(), and SetSize().

◆ m_ssRecord

SSRecord* ns3::UlJob::m_ssRecord
private

Pointer to SSRecord.

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

Referenced by GetSsRecord(), and SetSsRecord().

◆ m_type

ReqType ns3::UlJob::m_type
private

Type of request, DATA or Unicast req slots.

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

Referenced by GetType(), and SetType().


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