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

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, Broker::DuplicateScheduleParameter, Broker::InvalidScheduleParameter, Broker::MissingScheduleParameter)
 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 Broker::CPUReserve ChangeTaskCPU (Broker::RealTimeTask_ptr task, const Broker::CPUReserve &advice) throw (CORBA::SystemException, Broker::InvalidState)
 
Parameters:
task The Task object requesting a CPU time change.
advice The CPU time advice from the Task object.
Returns:
The actual CPU reserve given to the task.

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 retrieved.
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 Fri Oct 22 07:51:05 2004 for CPU Broker by  doxygen 1.3.9.1