diff options
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/Runtime_Scheduler.h')
-rw-r--r-- | TAO/orbsvcs/orbsvcs/Runtime_Scheduler.h | 123 |
1 files changed, 123 insertions, 0 deletions
diff --git a/TAO/orbsvcs/orbsvcs/Runtime_Scheduler.h b/TAO/orbsvcs/orbsvcs/Runtime_Scheduler.h index 71c5761f988..b2d5ed34061 100644 --- a/TAO/orbsvcs/orbsvcs/Runtime_Scheduler.h +++ b/TAO/orbsvcs/orbsvcs/Runtime_Scheduler.h @@ -74,6 +74,48 @@ public: RtecScheduler::UNKNOWN_TASK)); // Set characteristics of the RT_Info corresponding to the passed handle. + virtual void reset (RtecScheduler::handle_t handle, + RtecScheduler::Criticality_t criticality, + RtecScheduler::Time time, + RtecScheduler::Time typical_time, + RtecScheduler::Time cached_time, + RtecScheduler::Period_t period, + RtecScheduler::Importance_t importance, + RtecScheduler::Quantum_t quantum, + CORBA::Long threads, + RtecScheduler::Info_Type_t info_type + ACE_ENV_ARG_DECL) + ACE_THROW_SPEC ((CORBA::SystemException, + RtecScheduler::UNKNOWN_TASK)); + // Reset characteristics of the RT_Info corresponding to the passed handle. + + virtual void set_seq (const RtecScheduler::RT_Info_Set& infos + ACE_ENV_ARG_DECL) + ACE_THROW_SPEC ((CORBA::SystemException, + RtecScheduler::UNKNOWN_TASK, + RtecScheduler::INTERNAL, + RtecScheduler::SYNCHRONIZATION_FAILURE)); + // Set characteristics of the RT_Infos corresponding to the passed handles. + // Tuples are added in the case of existing and/or multiple definitions. + + virtual void replace_seq (const RtecScheduler::RT_Info_Set& infos + ACE_ENV_ARG_DECL) + ACE_THROW_SPEC ((CORBA::SystemException, + RtecScheduler::UNKNOWN_TASK, + RtecScheduler::INTERNAL, + RtecScheduler::SYNCHRONIZATION_FAILURE)); + // Replace characteristics of the RT_Infos corresponding to the + // passed handles. + + virtual void reset_seq (const RtecScheduler::RT_Info_Set& infos + ACE_ENV_ARG_DECL) + ACE_THROW_SPEC ((CORBA::SystemException, + RtecScheduler::UNKNOWN_TASK, + RtecScheduler::INTERNAL, + RtecScheduler::SYNCHRONIZATION_FAILURE)); + // Reset characteristics of the RT_Infos corresponding to the passed handles. + // Tuples are replaced in the case of existing and/or multiple definitions. + virtual void priority (RtecScheduler::handle_t handle, RtecScheduler::OS_Priority& o_priority, RtecScheduler::Preemption_Subpriority_t& p_subpriority, @@ -106,9 +148,53 @@ public: // In the config run scheduler, this method registers a dependency between // two RT_Infos. In the run time scheduler, this is a no-op. + virtual void remove_dependency (RtecScheduler::handle_t handle, + RtecScheduler::handle_t dependency, + CORBA::Long number_of_calls, + RtecScheduler::Dependency_Type_t dependency_type + ACE_ENV_ARG_DECL) + ACE_THROW_SPEC ((CORBA::SystemException, + RtecScheduler::UNKNOWN_TASK)); + // In the reconfig scheduler, this method removes a dependency between + // two RT_Infos. In the run time scheduler, this is a no-op. + + virtual void set_dependency_enable_state (RtecScheduler::handle_t handle, + RtecScheduler::handle_t dependency, + CORBA::Long number_of_calls, + RtecScheduler::Dependency_Type_t dependency_type, + RtecScheduler::Dependency_Enabled_Type_t enabled + ACE_ENV_ARG_DECL) + ACE_THROW_SPEC ((CORBA::SystemException, + RtecScheduler::UNKNOWN_TASK)); + // In the reconfig scheduler, this method (re)enabes a dependency between + // two RT_Infos. In the run time scheduler, this is a no-op. + + virtual void set_rt_info_enable_state (RtecScheduler::handle_t handle, + RtecScheduler::RT_Info_Enabled_Type_t enabled + ACE_ENV_ARG_DECL) + ACE_THROW_SPEC ((CORBA::SystemException, + RtecScheduler::UNKNOWN_TASK)); + // In the reconfig scheduler, enables or disables an RT_Info. + // In the run time scheduler, this is a no-op. + + virtual void set_dependency_enable_state_seq (const RtecScheduler::Dependency_Set & dependencies + ACE_ENV_ARG_DECL) + ACE_THROW_SPEC ((CORBA::SystemException, + RtecScheduler::SYNCHRONIZATION_FAILURE, + RtecScheduler::UNKNOWN_TASK)); + // This method sets the enable state of a sequence of dependencies. + + virtual void set_rt_info_enable_state_seq (const RtecScheduler::RT_Info_Enable_State_Pair_Set & pair_set + ACE_ENV_ARG_DECL) + ACE_THROW_SPEC ((CORBA::SystemException, + RtecScheduler::SYNCHRONIZATION_FAILURE, + RtecScheduler::UNKNOWN_TASK)); + // This method enables or disables a sequence of RT_Infos. + virtual void compute_scheduling (CORBA::Long minimum_priority, CORBA::Long maximum_priority, RtecScheduler::RT_Info_Set_out infos, + RtecScheduler::Dependency_Set_out deps, RtecScheduler::Config_Info_Set_out configs, RtecScheduler::Scheduling_Anomaly_Set_out anomalies ACE_ENV_ARG_DECL) @@ -120,6 +206,43 @@ public: // to be computed for all registered RT_Infos. In the run time scheduler, // this is a no-op. + virtual void recompute_scheduling (CORBA::Long minimum_priority, + CORBA::Long maximum_priority, + RtecScheduler::Scheduling_Anomaly_Set_out anomalies + ACE_ENV_ARG_DECL) + ACE_THROW_SPEC ((CORBA::SystemException, + RtecScheduler::UTILIZATION_BOUND_EXCEEDED, + RtecScheduler::SYNCHRONIZATION_FAILURE, + RtecScheduler::INSUFFICIENT_THREAD_PRIORITY_LEVELS, + RtecScheduler::TASK_COUNT_MISMATCH, + RtecScheduler::INTERNAL, + RtecScheduler::DUPLICATE_NAME)); + // Recomputes the scheduling priorities, etc. + + virtual void get_rt_info_set (RtecScheduler::RT_Info_Set_out infos + ACE_ENV_ARG_DECL) + ACE_THROW_SPEC ((CORBA::SystemException, + RtecScheduler::SYNCHRONIZATION_FAILURE, + RtecScheduler::INTERNAL)); + // Returns the set of rt_infos, with their assigned priorities (as + // of the last schedule re-computation). + + virtual void get_dependency_set (RtecScheduler::Dependency_Set_out dependencies + ACE_ENV_ARG_DECL) + ACE_THROW_SPEC ((CORBA::SystemException, + RtecScheduler::SYNCHRONIZATION_FAILURE, + RtecScheduler::INTERNAL)); + // Returns the set of rt_infos, with their assigned priorities (as + // of the last schedule re-computation). + + virtual void get_config_info_set (RtecScheduler::Config_Info_Set_out configs + ACE_ENV_ARG_DECL) + ACE_THROW_SPEC ((CORBA::SystemException, + RtecScheduler::SYNCHRONIZATION_FAILURE, + RtecScheduler::INTERNAL)); + // Returns the set of config_infos, describing the appropriate + // number, types, and priority levels for the dispatching lanes. + virtual void dispatch_configuration (RtecScheduler::Preemption_Priority_t p_priority, RtecScheduler::OS_Priority& o_priority, RtecScheduler::Dispatching_Type_t & d_type |