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.

Definition at line 27 of file MaxDecayTaskAdvocate.hh.

Public Member Functions

virtual void ReportCPU (Broker::RealTimeTask_ptr rtt, CORBA::ULong status, CORBA::ULong advice) throw (CORBA::SystemException)
 Compute a new processing time advice from the given status value.


Private Attributes

CORBA::ULong md_LastAdvice
 The last advice reported by this advocate.

CORBA::ULong md_SubMax
 The maximum observed usage that is still below the last advice given.

unsigned int md_Decay
 The number of periods left before the reservation will be dropped to the value of md_SubMax.


Member Function Documentation

void MaxDecayTaskAdvocate::ReportCPU Broker::RealTimeTask_ptr  rtt,
CORBA::ULong  status,
CORBA::ULong  advice
throw (CORBA::SystemException) [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:
rtt The task object that was actually added to the manager.
status The CPU usage of the task in microseconds.
advice The amount of CPU time, in microseconds, that the application would like for the next period.
Returns:
A processing time that will satisfy all requirements that have been encountered so far.
Exceptions:
CORBA::BAD_INV_ORDER if the method is called without BeginCPUScheduling() being called first.

Reimplemented from RealTimeTaskDelegateImpl.

Definition at line 38 of file MaxDecayTaskAdvocate.cc.

References DECAY_AFTER, max, RealTimeTaskDelegateImpl::ReportCPU(), and rtt.

Here is the call graph for this function:


The documentation for this class was generated from the following files:
Generated on Mon Dec 1 16:30:37 2003 for CPU Broker by doxygen 1.3.4