#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_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_Sched_Priority_Iterator::~ACE_Sched_Priority_Iterator | ( | void | ) |
Default dtor.
int ACE_Sched_Priority_Iterator::more | ( | void | ) | const |
Check if there are more priorities.
void ACE_Sched_Priority_Iterator::next | ( | void | ) |
Move to the next priority. The iteration is from lowest to highest importance.
const ACE_Sched_Params::Policy & ACE_Sched_Priority_Iterator::policy | ( | void | ) | const |
Accessor for the scheduling policy over which we are iterating.
int ACE_Sched_Priority_Iterator::priority | ( | void | ) | const |
Return the current priority.
int ACE_Sched_Priority_Iterator::scope | ( | void | ) | const |
Accessor for the scheduling.
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.
The Scheduling policy (FIFO, RR, etc.) and scheduling scope (PROCESS, SYSTEM) we are iterating on.
int ACE_Sched_Priority_Iterator::priority_ [private] |
The current priority.
int ACE_Sched_Priority_Iterator::scope_ [private] |