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

RealTimeTaskImpl Class Reference

List of all members.

Detailed Description

A base implementation of the Broker::RealTimeTask interface.

An instance of this object should be the last link in an advocate chain since it will be responsible for passing the report on to the manager through the ChangeTaskCPU method.

Definition at line 31 of file RealTimeTaskImpl.hh.

Public Member Functions

 RealTimeTaskImpl (const Broker::TaskParameters &tp) throw (CORBA::SystemException, Broker::DuplicateTaskParameter, Broker::InvalidTaskParameter, Broker::MissingTaskParameter)
 Construct an RealTimeTaskImpl from the given parameters.

virtual ~RealTimeTaskImpl ()
 Destruct an RealTimeTaskImpl.

virtual char * Name (void) throw (CORBA::SystemException)
 Mostly useful for debugging.

virtual void SetManager (Broker::Manager_ptr man) throw (CORBA::SystemException)
 
Parameters:
man The manager this task was added to.


virtual void BeginCPUScheduling (const Broker::ScheduleParameters &sp) throw (CORBA::SystemException, Broker::DuplicateScheduleParameter, Broker::InvalidScheduleParameter, Broker::MissingScheduleParameter)
 
Parameters:
sp The high level scheduling parameters.
Exceptions:
DuplicateScheduleParameter if the given schedule has a duplicate parameter.
InvalidScheduleParameter if the given schedule has an invalid parameter.
MissingScheduleParameter if the given schedule is missing a required parameter.
CORBA::BAD_INV_ORDER if the method is called without intervening calls to EndCPUScheduling().


virtual void EndCPUScheduling (void) throw (CORBA::SystemException)
 
Exceptions:
CORBA::BAD_INV_ORDER if the method is called without BeginCPUScheduling() being called first.


virtual Broker::CPUReserve PassCPU (Broker::RealTimeTask_ptr rtt, const Broker::CPUReserve &status, const Broker::CPUReserve &advice, const Broker::KeyedReportParameters &krp) throw (CORBA::SystemException)
 This method would then be used by adaptation proxies to change the advice parameter to their liking.

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.
krp Non-standard report parameters that are indexed by key name.
Returns:
The actual CPU reserve given to the task.
See also:
ChangeTaskCPU


virtual Broker::CPUReserve ReportCPU (const Broker::CPUReserve &status, const Broker::CPUReserve &advice, const Broker::KeyedReportParameters &krp) throw (CORBA::SystemException)
 This method would then be used by adaptation proxies to change the advice parameter to their liking.

Parameters:
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.
krp Non-standard report parameters that are indexed by key name.
Returns:
The actual CPU reserve given to the task.
See also:
ChangeTaskCPU



Protected Attributes

CORBA::String_var rtti_Name
 The name of the task and the resource set created for it.

Broker::Manager_var rtti_Manager
 The Broker::Manager used to handle scheduling during contention.


Constructor & Destructor Documentation

RealTimeTaskImpl::RealTimeTaskImpl const Broker::TaskParameters tp  )  throw (CORBA::SystemException, Broker::DuplicateTaskParameter, Broker::InvalidTaskParameter, Broker::MissingTaskParameter)
 

Construct an RealTimeTaskImpl from the given parameters.

The current set of recognized parameters are:

  • name A string to be used as the name of the task. (required)
Parameters:
tp The list of parameters.
Exceptions:
CORBA::SystemException for CORBA related errors.
Broker::InvalidTaskParameter if one of the parameters is invalid.
Broker::MissingTaskParameter if one of the required parameters is missing.

Definition at line 43 of file RealTimeTaskImpl.cc.

References Broker::TaskParameters.


Member Data Documentation

Broker::Manager_var RealTimeTaskImpl::rtti_Manager [protected]
 

The Broker::Manager used to handle scheduling during contention.

Only valid between BeginCPUScheduling and EndCPUScheduling calls.

Definition at line 113 of file RealTimeTaskImpl.hh.

CORBA::String_var RealTimeTaskImpl::rtti_Name [protected]
 

The name of the task and the resource set created for it.

Invariant:
!= NULL

Definition at line 107 of file RealTimeTaskImpl.hh.


The documentation for this class was generated from the following files:
Generated on Tue Jun 22 14:52:00 2004 for CPU Broker by doxygen 1.3.6