Definition at line 31 of file PartitionPolicyImpl.hh.
Public Member Functions | ||||||||||||||||
PartitionPolicyImpl (const char *name) | ||||||||||||||||
Construct a PartitionPolicyImpl object with the given values. | ||||||||||||||||
virtual | ~PartitionPolicyImpl (void) | |||||||||||||||
Deconstruct the policy. | ||||||||||||||||
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.
| ||||||||||||||||
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.
| ||||||||||||||||
virtual Broker::TaskList * | GetTaskList (void) throw (CORBA::SystemException) | |||||||||||||||
| ||||||||||||||||
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.
| ||||||||||||||||
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.
| ||||||||||||||||
virtual Broker::CPUReserve | ChangeTaskCPU (Broker::RealTimeTask_ptr task, const Broker::CPUReserve &advice) throw (CORBA::SystemException, Broker::InvalidState) | |||||||||||||||
| ||||||||||||||||
virtual CORBA::Float | GetMaxCPUAllocation (void) throw (CORBA::SystemException) | |||||||||||||||
| ||||||||||||||||
virtual void | SetMaxCPUAllocation (CORBA::Float amount) throw (CORBA::SystemException) | |||||||||||||||
| ||||||||||||||||
virtual void | DefaultPolicy (Broker::Policy_ptr policy) throw (CORBA::SystemException) | |||||||||||||||
| ||||||||||||||||
virtual Broker::Policy_ptr | DefaultPolicy (void) throw (CORBA::SystemException) | |||||||||||||||
| ||||||||||||||||
virtual void | SetTaskPolicy (Broker::Task_ptr task, Broker::Policy_ptr bp) throw (CORBA::SystemException) | |||||||||||||||
| ||||||||||||||||
virtual Broker::Policy_ptr | GetTaskPolicy (Broker::Task_ptr task) throw (CORBA::SystemException) | |||||||||||||||
| ||||||||||||||||
Private Member Functions | ||||||||||||||||
void | RepairTaskList (void) | |||||||||||||||
Repair the task list by removing any dead/unreachable objects. | ||||||||||||||||
TaskData * | FindTaskData (Broker::RealTimeTask_ptr task) | |||||||||||||||
Find the TaskData node that corresponds to the given task. | ||||||||||||||||
Private Attributes | ||||||||||||||||
float | pp_MaxUsedCPU | |||||||||||||||
The maximum percentage of CPU time that we are allowed to allocate. | ||||||||||||||||
CORBA::String_var | pp_Name | |||||||||||||||
The name of this object as registered with the NamingService. | ||||||||||||||||
Broker::Policy_var | pp_DefaultPolicy | |||||||||||||||
The default subpolicy to use for newly added tasks. | ||||||||||||||||
lnMinList | pp_List | |||||||||||||||
A list of TaskData objects. |
|
Construct a PartitionPolicyImpl object with the given values.
Definition at line 28 of file PartitionPolicyImpl.cc. References lnNewList(), and require. |
Here is the call graph for this function:
|
NOTE: The policy is expected to discover and adjust the scheduling parameters of any currently executing tasks.
Definition at line 157 of file PartitionPolicyImpl.cc. |
|
NOTE: The policy should change any scheduling parameters of the currently executing tasks, the next policy to be activated will handle any changes.
Definition at line 163 of file PartitionPolicyImpl.cc. |
|
Find the TaskData node that corresponds to the given task.
Definition at line 299 of file PartitionPolicyImpl.cc. References lnMinList::lh_Head, lnMinNode::ln_Succ, pp_List, require, PartitionPolicyImpl::TaskData::td_Link, and PartitionPolicyImpl::TaskData::td_Task. |