diff options
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/Sched/Reconfig_Scheduler.h')
-rw-r--r-- | TAO/orbsvcs/orbsvcs/Sched/Reconfig_Scheduler.h | 72 |
1 files changed, 19 insertions, 53 deletions
diff --git a/TAO/orbsvcs/orbsvcs/Sched/Reconfig_Scheduler.h b/TAO/orbsvcs/orbsvcs/Sched/Reconfig_Scheduler.h index 813f53faca4..d2e2c1064a1 100644 --- a/TAO/orbsvcs/orbsvcs/Sched/Reconfig_Scheduler.h +++ b/TAO/orbsvcs/orbsvcs/Sched/Reconfig_Scheduler.h @@ -20,9 +20,7 @@ #include "orbsvcs/Scheduler_Factory.h" #include "orbsvcs/RtecSchedulerS.h" -template <class RECONFIG_SCHED_STRATEGY, class ACE_LOCK> -class TAO_ORBSVCS_Export ACE_Reconfig_Scheduler : - public POA_RtecScheduler::Scheduler +class TAO_ORBSVCS_Export ACE_Reconfig_Scheduler : public POA_RtecScheduler::Scheduler { // = TITLE // A servant for RtecScheduler::Scheduler that can be initialized @@ -39,28 +37,16 @@ class TAO_ORBSVCS_Export ACE_Reconfig_Scheduler : // both schedule configuration and run-time phases of operation. // public: - - ACE_Reconfig_Scheduler (); - // Default constructor. - ACE_Reconfig_Scheduler (int config_count, - ACE_Scheduler_Factory::POD_Config_Info config_info[], - int entry_count, - ACE_Scheduler_Factory::POD_RT_Info rt_info[], - int dependency_count, - ACE_Scheduler_Factory::POD_Dependency_Info dependency_info[], - int is_stable); + ACE_Scheduler_Factory::POD_Config_Info config_info[], + int entry_count, + ACE_Scheduler_Factory::POD_RT_Info rt_info[], + int dependency_count, + ACE_Scheduler_Factory::POD_Dependency_Info dependency_info[], + int is_stable); // Constructor. Initialize the scheduler from the POD_Config_Info, POD_RT_Info, // and POD_Dependency arrays, plus stability flag. - int init (int config_count, - ACE_Scheduler_Factory::POD_Config_Info config_info[], - int entry_count, - ACE_Scheduler_Factory::POD_RT_Info rt_info[], - int dependency_count, - ACE_Scheduler_Factory::POD_Dependency_Info dependency_info[], - int is_stable); - // Initializes the scheduler with the passed information. virtual RtecScheduler::handle_t create (const char * entry_point, CORBA::Environment &_env) @@ -162,43 +148,23 @@ public: private: - typedef ACE_Hash_Map_Manager_Ex<RtecScheduler::handle_t, - RtecScheduler::RT_Info*, - ACE_Hash<RtecScheduler::handle_t>, - ACE_Equal_To<RtecScheduler::handle_t>, - ACE_LOCK> RT_INFO_MAP; - // Type of map used for O(1) lookup of RT_Infos by their handles. - - typedef ACE_RB_Tree<char *, - RtecScheduler::RT_Info*, - ACE_Less_Than<char *>, - ACE_LOCK> RT_INFO_TREE; - // Type of tree used for O(log n) lookup of RT_Infos by their names. - - typedef ACE_Hash_Map_Manager_Ex<RtecScheduler::Preemption_Priority_t, - RtecScheduler::Config_Info*, - ACE_Hash<RtecScheduler::Preemption_Priority_t>, - ACE_Equal_To<RtecScheduler::Preemption_Priority_t>, - ACE_LOCK> CONFIG_INFO_MAP; - // Type of map used for O(1) lookup of Config_Infos by their priorities. - - RECONFIG_SCHED_STRATEGY sched_strategy_; - // Scheduling strategy for the reconfig scheduler. + int config_count_; + // The number of elements in the config array. - CONFIG_INFO_MAP config_info_map_; - // Map for O(1) lookup of Config_Infos by priority level. + ACE_Scheduler_Factory::POD_Config_Info* config_info_; + // The array of precomputed queue configuration structures. - int config_info_count_; - // The number of elements in the config map. + int entry_count_; + // The number of elements in the RT_Info array. - RT_INFO_MAP rt_info_map_; - // Map for O(1) lookup of RT_Infos by handle. + ACE_Scheduler_Factory::POD_RT_Info* rt_info_; + // The array of precomputed RT_Info structures. - RT_INFO_TREE rt_info_tree_; - // Map for O(1) lookup of RT_Infos by handle. + int dependency_count_; + // The number of elements in the Dependency_Info array. - int rt_info_count_; - // The number of elements in the config map. + ACE_Scheduler_Factory::POD_Dependency_Info dependency_info_; + // The array of precomputed dependency information. int is_stable_; // Flag indicating whether a stable schedule has been computed |