#include <Sched_Params.h>
Public Member Functions | |
ACE_Sched_Priority_Iterator (const ACE_Sched_Params::Policy &policy, int scope=ACE_SCOPE_THREAD) | |
~ACE_Sched_Priority_Iterator (void) | |
Default dtor. | |
int | more (void) const |
Check if there are more priorities. | |
int | priority (void) const |
Return the current priority. | |
void | next (void) |
const ACE_Sched_Params::Policy & | policy (void) const |
Accessor for the scheduling policy over which we are iterating. | |
int | scope (void) const |
Accessor for the scheduling. | |
Private Attributes | |
ACE_Sched_Params::Policy | policy_ |
int | scope_ |
int | priority_ |
The current priority. | |
int | done_ |
The order of priorities (numeric value vs. importance) is OS dependant, it can be the case that the priorities are not even contigous. This class permits iteration over priorities using the iterator pattern.
ACE_INLINE ACE_Sched_Priority_Iterator::ACE_Sched_Priority_Iterator | ( | const ACE_Sched_Params::Policy & | policy, | |
int | scope = ACE_SCOPE_THREAD | |||
) |
Initialize the iterator, the arguments define the scheduling policy and scope for the priorities (see ACE_Sched_Param).
ACE_INLINE ACE_Sched_Priority_Iterator::~ACE_Sched_Priority_Iterator | ( | void | ) |
Default dtor.
ACE_INLINE int ACE_Sched_Priority_Iterator::more | ( | void | ) | const |
Check if there are more priorities.
ACE_INLINE int ACE_Sched_Priority_Iterator::priority | ( | void | ) | const |
Return the current priority.
ACE_INLINE void ACE_Sched_Priority_Iterator::next | ( | void | ) |
Move to the next priority. The iteration is from lowest to highest importance.
ACE_INLINE const ACE_Sched_Params::Policy & ACE_Sched_Priority_Iterator::policy | ( | void | ) | const |
Accessor for the scheduling policy over which we are iterating.
ACE_INLINE int ACE_Sched_Priority_Iterator::scope | ( | void | ) | const |
Accessor for the scheduling.
The Scheduling policy (FIFO, RR, etc.) and scheduling scope (PROCESS, SYSTEM) we are iterating on.
int ACE_Sched_Priority_Iterator::scope_ [private] |
int ACE_Sched_Priority_Iterator::priority_ [private] |
The current priority.
int ACE_Sched_Priority_Iterator::done_ [private] |
This is set to 1 when there are no more priorities. Cannot easily compare against the highest priority on platforms were priorities are non-contigous or descending.