summaryrefslogtreecommitdiff
path: root/TAO/tao/Server_Strategy_Factory.h
diff options
context:
space:
mode:
authorirfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1999-03-18 05:19:36 +0000
committerirfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1999-03-18 05:19:36 +0000
commitafcc3f6ec6d4dcdd03983fa208b44199c92b9b96 (patch)
tree605e0d93403692da833efa5779163e723afe36c8 /TAO/tao/Server_Strategy_Factory.h
parentd1b5ddd70e1d08dff59f4819c2905707ba3fb98d (diff)
downloadATCD-afcc3f6ec6d4dcdd03983fa208b44199c92b9b96.tar.gz
*** empty log message ***
Diffstat (limited to 'TAO/tao/Server_Strategy_Factory.h')
-rw-r--r--TAO/tao/Server_Strategy_Factory.h51
1 files changed, 39 insertions, 12 deletions
diff --git a/TAO/tao/Server_Strategy_Factory.h b/TAO/tao/Server_Strategy_Factory.h
index ce9cacb56aa..e4bcdd61371 100644
--- a/TAO/tao/Server_Strategy_Factory.h
+++ b/TAO/tao/Server_Strategy_Factory.h
@@ -20,6 +20,7 @@
#include "ace/Service_Object.h"
#include "ace/Strategies_T.h"
#include "tao/Connect.h"
+#include "tao/params.h"
class TAO_Active_Object_Map_Impl;
class TAO_Reverse_Active_Object_Map_Impl;
@@ -32,6 +33,37 @@ class TAO_Server_Strategy_Factory : public ACE_Service_Object
// serves as an interface to a subclass that REALLY gets
// specified and loaded by the Service Configurator.
public:
+
+ struct Active_Object_Map_Creation_Parameters
+ {
+ Active_Object_Map_Creation_Parameters (void);
+ // Constructor.
+
+ u_long active_object_map_size_;
+ // Default size of object lookup table.
+
+ TAO_Demux_Strategy object_lookup_strategy_for_user_id_policy_;
+ // The type of lookup/demultiplexing strategy being used for user
+ // id policy
+
+ TAO_Demux_Strategy object_lookup_strategy_for_system_id_policy_;
+ // The type of lookup/demultiplexing strategy being used for
+ // system id policy
+
+ TAO_Demux_Strategy reverse_object_lookup_strategy_for_unique_id_policy_;
+ // The type of reverse lookup/demultiplexing strategy being used
+ // for the UNIQUE_ID policy
+
+ int use_active_hint_in_ids_;
+ // Flag to indicate whether the active hint should be used with
+ // the IOR.
+
+ int allow_reactivation_of_system_ids_;
+ // Flag to indicate whether reactivations of servants was required
+ // (under the system id policy). If not, certain resources may
+ // not be required.
+ };
+
// = Initialization and termination methods.
TAO_Server_Strategy_Factory (void);
// Constructor.
@@ -69,16 +101,6 @@ public:
virtual SCHEDULING_STRATEGY *scheduling_strategy (void);
// Return the scheduling strategy used.
- virtual TAO_Active_Object_Map_Impl *create_active_object_map (int user_id_policy);
- // Return a new id-->sevant table. If <user_id_policy> is true, the
- // request is being made for a POA with USER_ID policy. Otherwise,
- // the SYSTEM_ID policy is being used.
-
- virtual TAO_Reverse_Active_Object_Map_Impl *create_reverse_active_object_map (int unique_id_policy);
- // Return a new servant-->id table. If <unique_id_policy> is true,
- // the request is being made for a POA with UNIQUE_ID
- // policy. Otherwise, the MULTIPLE_ID policy is being used.
-
virtual ACE_Lock *create_poa_lock (void);
// Return a new lock for use in locking the POA.
@@ -97,8 +119,13 @@ public:
virtual ACE_Lock *create_cached_connector_lock (void);
// Create the lock to be used by the cached connector.
- virtual u_long active_object_map_size (void) const;
- // Return the object table size
+ virtual const Active_Object_Map_Creation_Parameters &active_object_map_creation_parameters (void) const;
+ // Return the active object map creation parameters.
+
+protected:
+
+ Active_Object_Map_Creation_Parameters active_object_map_creation_parameters_;
+ // Active object map creation parameters.
};
#endif /* TAO_SERVER_STRATEGY_FACTORY_H */