NAME
ACE_Sched_Priority_Iterator -
An iterator over the OS-defined scheduling priorities.
SYNOPSIS
#include <ACE/Sched_Params.h>
class ACE_Sched_Priority_Iterator
{
public:
ACE_Sched_Priority_Iterator (
const ACE_Sched_Params::Policy &policy,
int scope = ACE_SCOPE_THREAD
);
~ACE_Sched_Priority_Iterator (void);
int more (void) const;
int priority (void) const;
void next (void);
const ACE_Sched_Params::Policy &policy (void) const;
int scope (void) const;
private:
ACE_Sched_Params::Policy policy_;
int scope_;
int priority_;
int done_;
};
DESCRIPTION
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.
PUBLIC MEMBERS
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 (void);
int more (void) const;
Check if there are more priorities.
int priority (void) const;
Return the current priority.
void next (void);
Move to the next priority.
The iteration is from lowest to highest importance.
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 MEMBERS
ACE_Sched_Params::Policy policy_;
int scope_;
The Scheduling policy (FIFO, RR, etc.) and scheduling scope
(PROCESS, SYSTEM) we are iterating on.
int priority_;
int done_;
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.
CREATION DATE
28 January 1997
AUTHOR
David Levine and Carlos O'Ryan
LIBRARY
ACE