Public Member Functions | |||||||||
| StrictPolicyImpl (const char *name) | |||||||||
| Construct a StrictPolicyImpl object with the given values. | |||||||||
| virtual | ~StrictPolicyImpl () | ||||||||
| Deconstruct the policy. | |||||||||
| char * | Name (void) throw (CORBA::SystemException) | ||||||||
| Mostly useful for debugging. | |||||||||
| void | AddTask (Broker::Task_ptr task) throw (CORBA::SystemException) | ||||||||
| NOTE: This method will be called before the reservation is made, giving the policy a chance to adjust any values.
| |||||||||
| void | RemoveTask (Broker::Task_ptr 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.
| |||||||||
| void | Activate (const Broker::TaskList &tl) throw (CORBA::SystemException) | ||||||||
| NOTE: The policy is expected to discover and adjust the scheduling parameters of any currently executing tasks.
| |||||||||
| 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.
| |||||||||
| void | ChangeTaskCPU (Broker::RealTimeTask_ptr task, CORBA::ULong ct, CORBA::ULong status, CORBA::ULong advice) throw (CORBA::SystemException, Broker::InvalidState) | ||||||||
| |||||||||
| Broker::TaskList * | GetTaskList (void) throw (CORBA::SystemException) | ||||||||
| |||||||||
| void | SetTaskPriority (Broker::Task_ptr task, CORBA::Short priority) throw (CORBA::SystemException) | ||||||||
| |||||||||
| CORBA::Short | GetTaskPriority (Broker::Task_ptr task) throw (CORBA::SystemException) | ||||||||
| |||||||||
Static Public Attributes | |||||||||
| const float | MAX_USED_CPU = 0.75 | ||||||||
| Maximum percentage of CPU to allocate to tasks. | |||||||||
| const float | MIN_TASK_CPU = 0.05 | ||||||||
| Minimum percentage of CPU to allocate to a single task. | |||||||||
Private Member Functions | |||||||||
| TaskPriority * | FindTaskPriority (Broker::RealTimeTask_ptr task) | ||||||||
| Find the TaskPriority node that corresponds to the given task. | |||||||||
| TaskPriority * | SubList (const RealTimeSchedule &rts, struct TaskPriority *ignore) | ||||||||
| Construct a list, ordered from lowest to highest priority, of the tasks whose schedule intersects with the given one. | |||||||||
| CORBA::ULong | TakeCPU (struct TaskPriority *sub_list, CORBA::ULong amount, struct TaskPriority *for_tp) | ||||||||
| Take CPU time from other tasks to give to another. | |||||||||
| CORBA::ULong | GiveCPU (struct TaskPriority *sub_list, CORBA::ULong amount, struct TaskPriority *for_tp) | ||||||||
| Give CPU time back to the other tasks. | |||||||||
Private Attributes | |||||||||
| CORBA::String_var | sp_Name | ||||||||
| The name of this object as registered with the NamingService. | |||||||||
| float | sp_MaxUsedCPU | ||||||||
| The maximum percentage of CPU time that we are allowed to allocate. | |||||||||
| float | sp_MinTaskCPU | ||||||||
| The minimum percentage of CPU time that a task must have. | |||||||||
| lnList | sp_List | ||||||||
| A list of TaskPriority objects. | |||||||||
|
|
Construct a StrictPolicyImpl object with the given values.
|
|
|
Find the TaskPriority node that corresponds to the given task.
|
|
||||||||||||||||
|
Give CPU time back to the other tasks.
|
|
||||||||||||
|
Construct a list, ordered from lowest to highest priority, of the tasks whose schedule intersects with the given one.
|
|
||||||||||||||||
|
Take CPU time from other tasks to give to another.
|
1.3.4