Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members

MaxDecayTaskAdvocate Class Reference

Inheritance diagram for MaxDecayTaskAdvocate:

Inheritance graph
[legend]
Collaboration diagram for MaxDecayTaskAdvocate:

Collaboration graph
[legend]
List of all members.

Detailed Description

An ExactTaskAdvocate that will always advise the maximum required processing time it has ever seen.


Public Member Functions

 MaxDecayTaskAdvocate (const Broker::TaskParameters &tp) throw (CORBA::SystemException, Broker::DuplicateTaskParameter, Broker::InvalidTaskParameter, Broker::MissingTaskParameter)
 
Parameters:
tp The description of the task.
Returns:
A new Task object.
Exceptions:
DuplicateTaskParameter if the given schedule has a duplicate parameter.
InvalidTaskParameter if the given schedule has an invalid parameter.
MissingTaskParameter if the given schedule is missing a required parameter.


virtual CORBA::ULong ComputeAdvice (CORBA::ULong status) throw (CORBA::SystemException, Broker::InvalidStatus)
 Compute a new processing time advice from the given status value.


Private Attributes

CORBA::ULong md_SubMax
unsigned int md_Decay


Member Function Documentation

CORBA::ULong MaxDecayTaskAdvocate::ComputeAdvice CORBA::ULong  status  )  throw (CORBA::SystemException, Broker::InvalidStatus) [virtual]
 

Compute a new processing time advice from the given status value.

The max implementation will compare the advice reported by the parent class against the current processing time and return the maximum of the two.

Parameters:
status The value passed into ReportCPU.
Returns:
A processing time that will satisfy all requirements that have been encountered so far.
Exceptions:
InvalidStatus if the status value is invalid.
CORBA::BAD_INV_ORDER if the method is called without BeginCPUScheduling() being called first.

Reimplemented from ExactTaskAdvocate.


The documentation for this class was generated from the following files:
Generated on Mon Dec 1 16:22:42 2003 for CPUBroker by doxygen 1.3.4