diff options
author | coryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1999-05-27 00:25:23 +0000 |
---|---|---|
committer | coryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1999-05-27 00:25:23 +0000 |
commit | 6120ebbb2351296f43f6be77ca8d2acede87204a (patch) | |
tree | 15d11034396d9c886c7021605705a7f0370f5d98 /TAO/tao/default_server.h | |
parent | 457f8b0edf17c7abc57be85dcd78f5974057c01b (diff) | |
download | ATCD-6120ebbb2351296f43f6be77ca8d2acede87204a.tar.gz |
ChangeLogTag:Wed May 26 18:51:39 1999 Carlos O'Ryan <coryan@cs.wustl.edu>
Diffstat (limited to 'TAO/tao/default_server.h')
-rw-r--r-- | TAO/tao/default_server.h | 77 |
1 files changed, 18 insertions, 59 deletions
diff --git a/TAO/tao/default_server.h b/TAO/tao/default_server.h index 46fddd5e65b..e5b1aa871a8 100644 --- a/TAO/tao/default_server.h +++ b/TAO/tao/default_server.h @@ -22,42 +22,35 @@ #include "tao/params.h" #include "tao/ORB_Strategies_T.h" -class TAO_Default_Server_Creation_Strategy : public TAO_Server_Strategy_Factory::CREATION_STRATEGY -{ -public: - TAO_Default_Server_Creation_Strategy (ACE_Thread_Manager * = 0); - // ctor - - // = Factory method. - virtual int make_svc_handler (TAO_Server_Connection_Handler *&sh); -}; - class TAO_Default_Server_Strategy_Factory : public TAO_Server_Strategy_Factory { // = TITLE // This is the default strategy factory for CORBA servers. It // allows developers to choose strategies via argument flags. // This design gives substantial freedom for experimentation. + // + // = DESCRIPTION + + public: // = Initialization and termination methods. TAO_Default_Server_Strategy_Factory (void); virtual ~TAO_Default_Server_Strategy_Factory (void); - virtual int open (TAO_ORB_Core*); - // Call <open> for our strategies. - - // = Server-side ORB Strategy Factory Methods. - virtual CREATION_STRATEGY *creation_strategy (void); - // Return concrete creation strategy. - - virtual CONCURRENCY_STRATEGY *concurrency_strategy (void); + // = Service Configurator hooks. + virtual int init (int argc, char *argv[]); + // = The TAO_Server_Strategy_Factory methods, please read the + // documentation in "tao/Server_Strategy_Factory.h" + virtual int open (TAO_ORB_Core*); virtual int enable_poa_locking (void); - // Enable POA locking? + virtual int activate_server_connections (void); + virtual int server_connection_thread_flags (void); + virtual int server_connection_thread_count (void); virtual ACE_Lock *create_servant_lock (void); - // Creates and returns a lock for servants based on the setting of - // POA, and concurrency strategy as follows: + // The servant lock is based on the setting of POA, and concurrency + // strategy as follows: // 1. If concurrency policy is reactive and POA is TSS // then return ACE_Null_Mutex via ACE_Lock_Adapter. // @@ -70,21 +63,11 @@ public: // ACE_Thread_Mutex. virtual ACE_Lock *create_event_loop_lock (void); - // Creates and returns a lock for the event loop. // If the ORB is single threaded or some form of ORB-per-thread then // it is more efficient to use a Null_Mutex for the variables // controlling the event loop (termination). Otherwise a // Recursive_Thread_Mutex or Thread_Mutex may be required. - - virtual ACE_Lock *create_collocation_table_lock (void); - // Creates and returns the lock for the global collocation table. - virtual ACE_Lock *create_cached_connector_lock (void); - // Creates and returns the lock for the global collocation table. - - // = Service Configurator hooks. - virtual int init (int argc, char *argv[]); - // Initialize the ORB when it's linked dynamically. int parse_args (int argc, char *argv[]); // Arguments are in the form of -ORBxxx. Valid arguments are: @@ -104,6 +87,10 @@ public: protected: void tokenize (char *flag_string); +protected: + int activate_server_connections_; + // Should the server connection handlers run in their own thread? + u_long thread_flags_; // Default thread flags passed to thr_create(). @@ -122,36 +109,8 @@ protected: Lock_Type event_loop_lock_type_; // The type of lock to be returned by <create_event_loop_lock()>. - Lock_Type collocation_table_lock_type_; - // Type of lock used by the collocation table. - Lock_Type cached_connector_lock_type_; // Type of lock used by the cached connector. - - // = Strategies Used. - TAO_Reactive_Strategy<TAO_Server_Connection_Handler> reactive_strategy_; - // A strategy for passively establishing connections which utilizes - // the Reactor. - - ACE_Thread_Strategy<TAO_Server_Connection_Handler> threaded_strategy_; - // The threaded strategy used for passively establishing - // connections. - - CREATION_STRATEGY *creation_strategy_; - // concrete creation strategy. - - CONCURRENCY_STRATEGY *concurrency_strategy_; - // concrete concurrency strategy. - - TAO_Default_Server_Creation_Strategy default_creation_strategy_; - // The default creation strategy for the server side connection - // handlers - -#if 0 - // Someday we'll need these! - ACCEPT_STRATEGY *accept_strategy_; - SCHEDULING_STRATEGY *scheduling_strategy_; -#endif /* 0 */ }; #if defined (__ACE_INLINE__) |