this class implements a structure to compute the priority of service flows More...
#include "ul-job.h"
Public Types | |
enum | JobPriority { LOW , INTERMEDIATE , HIGH } |
Job priority enumeration. More... | |
Public Member Functions | |
UlJob () | |
~UlJob () override | |
Time | GetDeadline () const |
Get deadline. | |
Time | GetPeriod () const |
Get period. | |
Time | GetReleaseTime () const |
Get release time. | |
ServiceFlow::SchedulingType | GetSchedulingType () const |
Get scheduling type. | |
ServiceFlow * | GetServiceFlow () const |
Get service flow. | |
uint32_t | GetSize () const |
Get size. | |
SSRecord * | GetSsRecord () const |
Get SS record. | |
ReqType | GetType () const |
Get type. | |
void | SetDeadline (Time deadline) |
Set deadline. | |
void | SetPeriod (Time period) |
Set period. | |
void | SetReleaseTime (Time releaseTime) |
Set release time. | |
void | SetSchedulingType (ServiceFlow::SchedulingType schedulingType) |
Set scheduling type. | |
void | SetServiceFlow (ServiceFlow *serviceFlow) |
Set service flow. | |
void | SetSize (uint32_t size) |
Set size. | |
void | SetSsRecord (SSRecord *ssRecord) |
Set SS record. | |
void | SetType (ReqType type) |
Set type. | |
Public Member Functions inherited from ns3::Object | |
Object () | |
Constructor. | |
~Object () override | |
Destructor. | |
void | AggregateObject (Ptr< Object > other) |
Aggregate two Objects together. | |
void | Dispose () |
Dispose of this Object. | |
AggregateIterator | GetAggregateIterator () const |
Get an iterator to the Objects aggregated to this one. | |
TypeId | GetInstanceTypeId () const override |
Get the most derived TypeId for this Object. | |
template<typename T > | |
Ptr< T > | GetObject () const |
Get a pointer to the requested aggregated Object. | |
template<> | |
Ptr< Object > | GetObject () const |
Specialization of () for objects of type ns3::Object. | |
template<typename T > | |
Ptr< T > | GetObject (TypeId tid) const |
Get a pointer to the requested aggregated Object by TypeId. | |
template<> | |
Ptr< Object > | GetObject (TypeId tid) const |
Specialization of (TypeId tid) for objects of type ns3::Object. | |
void | Initialize () |
Invoke DoInitialize on all Objects aggregated to this one. | |
bool | IsInitialized () const |
Check if the object has been initialized. | |
Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter > | |
SimpleRefCount () | |
Default constructor. | |
SimpleRefCount (const SimpleRefCount &o) | |
Copy constructor. | |
uint32_t | GetReferenceCount () const |
Get the reference count of the object. | |
SimpleRefCount & | operator= (const SimpleRefCount &o) |
Assignment operator. | |
void | Ref () const |
Increment the reference count. | |
void | Unref () const |
Decrement the reference count. | |
Public Member Functions inherited from ns3::ObjectBase | |
virtual | ~ObjectBase () |
Virtual destructor. | |
void | GetAttribute (std::string name, AttributeValue &value) const |
Get the value of an attribute, raising fatal errors if unsuccessful. | |
bool | GetAttributeFailSafe (std::string name, AttributeValue &value) const |
Get the value of an attribute without raising errors. | |
virtual TypeId | GetInstanceTypeId () const =0 |
Get the most derived TypeId for this Object. | |
void | SetAttribute (std::string name, const AttributeValue &value) |
Set a single attribute, raising fatal errors if unsuccessful. | |
bool | SetAttributeFailSafe (std::string name, const AttributeValue &value) |
Set a single attribute without raising errors. | |
bool | TraceConnect (std::string name, std::string context, const CallbackBase &cb) |
Connect a TraceSource to a Callback with a context. | |
bool | TraceConnectWithoutContext (std::string name, const CallbackBase &cb) |
Connect a TraceSource to a Callback without a context. | |
bool | TraceDisconnect (std::string name, std::string context, const CallbackBase &cb) |
Disconnect from a TraceSource a Callback previously connected with a context. | |
bool | TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb) |
Disconnect from a TraceSource a Callback previously connected without a context. | |
Private Attributes | |
Time | m_deadline |
Request should be satisfied by this time. | |
Time | m_period |
For periodic jobs. | |
Time | m_releaseTime |
The time after which the job can be processed. | |
ServiceFlow::SchedulingType | m_schedulingType |
Scheduling type of flow. | |
ServiceFlow * | m_serviceFlow |
service flow | |
uint32_t | m_size |
Number of minislots requested. | |
SSRecord * | m_ssRecord |
Pointer to SSRecord. | |
ReqType | m_type |
Type of request, DATA or Unicast req slots. | |
Friends | |
bool | operator== (const UlJob &a, const UlJob &b) |
equality operator | |
Additional Inherited Members | |
Static Public Member Functions inherited from ns3::Object | |
static TypeId | GetTypeId () |
Register this type. | |
Static Public Member Functions inherited from ns3::ObjectBase | |
static TypeId | GetTypeId () |
Get the type ID. | |
Protected Member Functions inherited from ns3::Object | |
Object (const Object &o) | |
Copy an Object. | |
virtual void | DoDispose () |
Destructor implementation. | |
virtual void | DoInitialize () |
Initialize() implementation. | |
virtual void | NotifyNewAggregate () |
Notify all Objects aggregated to this one of a new Object being aggregated. | |
Protected Member Functions inherited from ns3::ObjectBase | |
void | ConstructSelf (const AttributeConstructionList &attributes) |
Complete construction of ObjectBase; invoked by derived classes. | |
virtual void | NotifyConstructionCompleted () |
Notifier called once the ObjectBase is fully constructed. | |
Related Functions inherited from ns3::ObjectBase | |
static TypeId | GetObjectIid () |
Ensure the TypeId for ObjectBase gets fully configured to anchor the inheritance tree properly. | |
this class implements a structure to compute the priority of service flows
Time ns3::UlJob::GetDeadline | ( | ) | const |
Get deadline.
Definition at line 111 of file ul-job.cc.
References m_deadline.
Time ns3::UlJob::GetPeriod | ( | ) | const |
Time ns3::UlJob::GetReleaseTime | ( | ) | const |
Get release time.
Definition at line 87 of file ul-job.cc.
References m_releaseTime.
ServiceFlow::SchedulingType ns3::UlJob::GetSchedulingType | ( | ) | const |
Get scheduling type.
Definition at line 51 of file ul-job.cc.
References m_schedulingType.
ServiceFlow * ns3::UlJob::GetServiceFlow | ( | ) | const |
Get service flow.
Definition at line 75 of file ul-job.cc.
References m_serviceFlow.
uint32_t ns3::UlJob::GetSize | ( | ) | const |
SSRecord * ns3::UlJob::GetSsRecord | ( | ) | const |
ReqType ns3::UlJob::GetType | ( | ) | const |
void ns3::UlJob::SetDeadline | ( | Time | deadline | ) |
Set deadline.
deadline | the dead line |
Definition at line 117 of file ul-job.cc.
References m_deadline.
void ns3::UlJob::SetPeriod | ( | Time | period | ) |
void ns3::UlJob::SetReleaseTime | ( | Time | releaseTime | ) |
Set release time.
releaseTime | the release time |
Definition at line 93 of file ul-job.cc.
References m_releaseTime.
void ns3::UlJob::SetSchedulingType | ( | ServiceFlow::SchedulingType | schedulingType | ) |
Set scheduling type.
schedulingType | the scheduling type |
Definition at line 57 of file ul-job.cc.
References m_schedulingType.
void ns3::UlJob::SetServiceFlow | ( | ServiceFlow * | serviceFlow | ) |
Set service flow.
serviceFlow |
Definition at line 81 of file ul-job.cc.
References m_serviceFlow.
void ns3::UlJob::SetSize | ( | uint32_t | size | ) |
void ns3::UlJob::SetSsRecord | ( | SSRecord * | ssRecord | ) |
Set SS record.
ssRecord | the SS record |
Definition at line 45 of file ul-job.cc.
References m_ssRecord.
void ns3::UlJob::SetType | ( | ReqType | type | ) |
|
private |
Request should be satisfied by this time.
Definition at line 154 of file ul-job.h.
Referenced by GetDeadline(), and SetDeadline().
|
private |
For periodic jobs.
Definition at line 153 of file ul-job.h.
Referenced by GetPeriod(), and SetPeriod().
|
private |
The time after which the job can be processed.
Definition at line 152 of file ul-job.h.
Referenced by GetReleaseTime(), and SetReleaseTime().
|
private |
Scheduling type of flow.
Definition at line 156 of file ul-job.h.
Referenced by GetSchedulingType(), and SetSchedulingType().
|
private |
service flow
Definition at line 161 of file ul-job.h.
Referenced by GetServiceFlow(), and SetServiceFlow().
|
private |
|
private |
Pointer to SSRecord.
Definition at line 158 of file ul-job.h.
Referenced by GetSsRecord(), and SetSsRecord().
|
private |