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

ExactTaskAdvocate Class Reference

Inheritance diagram for ExactTaskAdvocate:

Inheritance graph
[legend]
Collaboration diagram for ExactTaskAdvocate:

Collaboration graph
[legend]
List of all members.

Detailed Description

A Broker::RealTimeAdvocate that suggests the task gets the exact amount of compute time as needed by the last period.


Public Member Functions

 ExactTaskAdvocate (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.

virtual void ReportCPU (CORBA::ULong status) throw (CORBA::SystemException, Broker::InvalidStatus)
 
Parameters:
status XXX
Exceptions:
InvalidStatus if the status value is invalid.
CORBA::BAD_INV_ORDER if the method is called without BeginCPUScheduling() being called first.



Protected Attributes

timeval eta_LastCPULog
ofstream * eta_CPULog
timeval eta_LastAdviceLog
ofstream * eta_AdviceLog
ofstream * eta_CompleteLog


Member Function Documentation

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

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

The default implementation will compute the exact amount of processing time required to make the deadline.

Parameters:
status The value passed into ReportCPU.
Returns:
The exact processing time required for the process to make its deadline.
Exceptions:
InvalidStatus if the status value is invalid.
CORBA::BAD_INV_ORDER if the method is called without BeginCPUScheduling() being called first.

Reimplemented in GCTaskAdvocate, GlacialTaskAdvocate, MaxDecayTaskAdvocate, and MaxTaskAdvocate.


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