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

StrictPolicyDelegateImpl Class Reference

Inheritance diagram for StrictPolicyDelegateImpl:

Inheritance graph
[legend]
Collaboration diagram for StrictPolicyDelegateImpl:

Collaboration graph
[legend]
List of all members.

Detailed Description

Base class for objects that wish to act as a delegate of a BrokerPolicies::StrictPolicy object.

Parameters:
T The main object type.
T_var The object's _var type.

Definition at line 31 of file StrictPolicyDelegateImpl.hh.

Public Member Functions

 StrictPolicyDelegateImpl (void)
 Construct a StrictPolicyDelegateImpl object.

virtual ~StrictPolicyDelegateImpl (void)
 Deconstruct a StrictPolicyDelegateImpl object.

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

virtual void AddTask (Broker::Task_ptr new_task, const Broker::ScheduleParameters &sp) throw (CORBA::SystemException)
 NOTE: This method will be called before the reservation is made, giving the policy a chance to adjust any values.

See also:
RemoveTask
Parameters:
new_task The newly created Task object.
sp The tasks's scheduling parameters.
Exceptions:
CORBA::BAD_PARAM if task is nil.
CORBA::BAD_PARAM if task has already been added.
CORBA::BAD_INV_ORDER if the method is called without Activate() being called first.


virtual void RemoveTask (Broker::Task_ptr added_task) throw (CORBA::SystemException)
 NOTE: This method will be called after the reservation has been destroyed, so it can safely reallocate the newly freed CPU time.

See also:
AddTask
Parameters:
added_task The task to remove.
Exceptions:
CORBA::BAD_PARAM if task is nil.
CORBA::BAD_PARAM if task has already been removed.
CORBA::BAD_INV_ORDER if the method is called without Activate() being called first.


virtual void Activate (const Broker::TaskList &tasks) throw (CORBA::SystemException)
 NOTE: The policy is expected to discover and adjust the scheduling parameters of any currently executing tasks.

See also:
Deactivate
Parameters:
tasks The list of tasks the policy needs to manage.
Exceptions:
CORBA::BAD_INV_ORDER if the method is called without intervening calls to Deactivate().


virtual void Deactivate (void) throw (CORBA::SystemException)
 NOTE: The policy should change any scheduling parameters of the currently executing tasks, the next policy to be activated will handle any changes.

See also:
Deactivate
Exceptions:
CORBA::BAD_INV_ORDER if the method is called on an inactive policy.


virtual void ChangeTaskCPU (Broker::RealTimeTask_ptr task, CORBA::ULong ct, CORBA::ULong status, CORBA::ULong advice) throw (CORBA::SystemException, Broker::InvalidState)
 
Parameters:
task The Task object requesting a CPU time change.
ct The Task's current CPU time.
status The status value reported by Task.ReportCPU().
advice The CPU time advice from the Task object.


virtual CORBA::Float GetMaxCPUAllocation (void) throw (CORBA::SystemException)
 
Returns:
The maximum percentage of CPU that can be allocated to all of the tasks.


virtual void SetMaxCPUAllocation (CORBA::Float amount) throw (CORBA::SystemException)
 
Parameters:
amount The maximum percentage of CPU that can be allocated to all of the tasks.


virtual Broker::TaskListGetTaskList (void) throw (CORBA::SystemException)
 
Returns:
The list of task's managed by this policy.


virtual void SetTaskPriority (Broker::Task_ptr task, CORBA::Short priority) throw (CORBA::SystemException)
 
Parameters:
task The task whose priority should be changed.
priority The new priority.
Exceptions:
CORBA::BAD_PARAM if task is nil.
CORBA::BAD_PARAM if task is not managed by this policy.


virtual CORBA::Short GetTaskPriority (Broker::Task_ptr task) throw (CORBA::SystemException)
 
Parameters:
task The task whose priority should be changed.
Returns:
The task's priority.
Exceptions:
CORBA::BAD_PARAM if task is nil.
CORBA::BAD_PARAM if task is not managed by this policy.



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