summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/Sched/Reconfig_Scheduler.h
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/Sched/Reconfig_Scheduler.h')
-rw-r--r--TAO/orbsvcs/orbsvcs/Sched/Reconfig_Scheduler.h72
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