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<typename T >
Ptr< T > GetObject (void) const
 Get a pointer to the requested aggregated Object. More...
 
template<typename T >
Ptr< T > GetObject (TypeId tid) const
 Get a pointer to the requested aggregated Object by TypeId. 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)
 Copy constructor. More...
 
uint32_t GetReferenceCount (void) const
 Get the reference count of the object. More...
 
SimpleRefCountoperator= (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...
 
uint8_t m_flag
 To delete or not. More...
 
int m_jitterSamples
 jitter samples More...
 
double m_last_jitterCalTime
 Last time avg jitter was calculated. More...
 
Time m_period
 For periodic jobs. More...
 
Time m_releaseTime
 The time after which the job can be processed. More...
 
uint8_t m_retryCount
 retry count 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...
 
double m_ugsJitter
 The jitter in the grant, valid only for UGS flows. 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.

Constructor & Destructor Documentation

ns3::UlJob::UlJob ( void  )

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

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

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

Member Function Documentation

Time ns3::UlJob::GetDeadline ( void  )

Get deadline.

Returns
the deadline time

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

References m_deadline.

Time ns3::UlJob::GetPeriod ( void  )

Get period.

Returns
the period time

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

References m_period.

Time ns3::UlJob::GetReleaseTime ( void  )

Get release time.

Returns
the release time

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

References m_releaseTime.

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

Get scheduling type.

Returns
the scheduling type

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

References m_schedulingType.

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

Get service flow.

Returns
the service flow

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

References m_serviceFlow.

Referenced by ns3::operator==().

+ Here is the caller graph for this function:

uint32_t ns3::UlJob::GetSize ( void  )

Get size.

Returns
the size

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

References m_size.

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

Get SS record.

Returns
the SS record

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

References m_ssRecord.

Referenced by ns3::operator==().

+ Here is the caller graph for this function:

ReqType ns3::UlJob::GetType ( void  )

Get type.

Returns
the request type

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

References m_type.

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

Set deadline.

Parameters
deadlinethe dead line

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

References m_deadline.

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

Set period.

Parameters
periodthe period

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

References m_period.

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.

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.

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

Set service flow.

Parameters
serviceFlow

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

References m_serviceFlow.

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

Set size.

Parameters
sizethe size

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

References m_size.

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

Set SS record.

Parameters
ssRecordthe SS record

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

References m_ssRecord.

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

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

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().

uint8_t ns3::UlJob::m_flag
private

To delete or not.

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

int ns3::UlJob::m_jitterSamples
private

jitter samples

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

double ns3::UlJob::m_last_jitterCalTime
private

Last time avg jitter was calculated.

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

Time ns3::UlJob::m_period
private

For periodic jobs.

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

Referenced by GetPeriod(), and SetPeriod().

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().

uint8_t ns3::UlJob::m_retryCount
private

retry count

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

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

Scheduling type of flow.

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

Referenced by GetSchedulingType(), and SetSchedulingType().

ServiceFlow* ns3::UlJob::m_serviceFlow
private

service flow

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

Referenced by GetServiceFlow(), and SetServiceFlow().

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().

SSRecord* ns3::UlJob::m_ssRecord
private

Pointer to SSRecord.

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

Referenced by GetSsRecord(), and SetSsRecord().

ReqType ns3::UlJob::m_type
private

Type of request, DATA or Unicast req slots.

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

Referenced by GetType(), and SetType().

double ns3::UlJob::m_ugsJitter
private

The jitter in the grant, valid only for UGS flows.

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


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