summaryrefslogtreecommitdiff
path: root/TAO/tao/default_server.h
diff options
context:
space:
mode:
authorcoryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1999-05-27 00:25:23 +0000
committercoryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1999-05-27 00:25:23 +0000
commit6120ebbb2351296f43f6be77ca8d2acede87204a (patch)
tree15d11034396d9c886c7021605705a7f0370f5d98 /TAO/tao/default_server.h
parent457f8b0edf17c7abc57be85dcd78f5974057c01b (diff)
downloadATCD-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.h77
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__)