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 (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... | |
ServiceFlow * | GetServiceFlow (void) |
Get service flow. More... | |
uint32_t | GetSize (void) |
Get size. More... | |
SSRecord * | GetSsRecord (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... | |
SimpleRefCount & | operator= (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... | |
ServiceFlow * | m_serviceFlow |
service flow More... | |
uint32_t | m_size |
Number of minislots requested. More... | |
SSRecord * | m_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... | |
Related Functions inherited from ns3::ObjectBase | |
static TypeId | GetObjectIid (void) |
Ensure the TypeId for ObjectBase gets fully configured to anchor the inheritance tree properly. More... | |
this class implements a structure to compute the priority of service flows
Time ns3::UlJob::GetDeadline | ( | void | ) |
Get deadline.
Definition at line 106 of file ul-job.cc.
References m_deadline.
Time ns3::UlJob::GetPeriod | ( | void | ) |
Time ns3::UlJob::GetReleaseTime | ( | void | ) |
Get release time.
Definition at line 83 of file ul-job.cc.
References m_releaseTime.
enum ServiceFlow::SchedulingType ns3::UlJob::GetSchedulingType | ( | void | ) |
Get scheduling type.
Definition at line 47 of file ul-job.cc.
References m_schedulingType.
ServiceFlow * ns3::UlJob::GetServiceFlow | ( | void | ) |
Get service flow.
Definition at line 71 of file ul-job.cc.
References m_serviceFlow.
Referenced by ns3::operator==().
uint32_t ns3::UlJob::GetSize | ( | void | ) |
SSRecord * ns3::UlJob::GetSsRecord | ( | void | ) |
Get SS record.
Definition at line 36 of file ul-job.cc.
References m_ssRecord.
Referenced by ns3::operator==().
ReqType ns3::UlJob::GetType | ( | void | ) |
void ns3::UlJob::SetDeadline | ( | Time | deadline | ) |
Set deadline.
deadline | the dead line |
Definition at line 111 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 89 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 53 of file ul-job.cc.
References m_schedulingType.
void ns3::UlJob::SetServiceFlow | ( | ServiceFlow * | serviceFlow | ) |
Set service flow.
serviceFlow |
Definition at line 77 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 41 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 153 of file ul-job.h.
Referenced by GetDeadline(), and SetDeadline().
|
private |
For periodic jobs.
Definition at line 152 of file ul-job.h.
Referenced by GetPeriod(), and SetPeriod().
|
private |
The time after which the job can be processed.
Definition at line 151 of file ul-job.h.
Referenced by GetReleaseTime(), and SetReleaseTime().
|
private |
Scheduling type of flow.
Definition at line 155 of file ul-job.h.
Referenced by GetSchedulingType(), and SetSchedulingType().
|
private |
service flow
Definition at line 160 of file ul-job.h.
Referenced by GetServiceFlow(), and SetServiceFlow().
|
private |
|
private |
Pointer to SSRecord.
Definition at line 157 of file ul-job.h.
Referenced by GetSsRecord(), and SetSsRecord().
|
private |