diff options
Diffstat (limited to 'TAO/tao/IIOP_Connection_Handler.h')
-rw-r--r-- | TAO/tao/IIOP_Connection_Handler.h | 188 |
1 files changed, 18 insertions, 170 deletions
diff --git a/TAO/tao/IIOP_Connection_Handler.h b/TAO/tao/IIOP_Connection_Handler.h index a72439326a7..aee04e27cc0 100644 --- a/TAO/tao/IIOP_Connection_Handler.h +++ b/TAO/tao/IIOP_Connection_Handler.h @@ -32,27 +32,36 @@ class TAO_Pluggable_Messaging; // **************************************************************** +/** + * @class TAO_IIOP_Properties + * + * @brief TCP protocol properties specification for a set of + * connections. + * + */ + class TAO_Export TAO_IIOP_Properties { - // = TITLE - // TCP protocol properties specification for a set of - // connections. - // + public: int send_buffer_size; int recv_buffer_size; int no_delay; }; + +// **************************************************************** + /** * @class TAO_IIOP_Connection_Handler * * @brief Handles requests on a single connection. * - * The handler is common for both the Acceptor and the Connector sides. + * The Connection handler which is common for the Acceptor and + * the Connector */ -// **************************************************************** + class TAO_Export TAO_IIOP_Connection_Handler : public TAO_IIOP_SVC_HANDLER, public TAO_Connection_Handler { @@ -109,6 +118,9 @@ public: /// Object termination hook. virtual int close (u_long flags = 0); + /// Add ourselves to Cache. + int add_handler_to_cache (void); + protected: /// = Event Handler overloads @@ -123,14 +135,6 @@ protected: virtual int handle_input_i (ACE_HANDLE = ACE_INVALID_HANDLE, ACE_Time_Value *max_wait_time = 0); - /// Perform appropriate closing but without grabbing any locks. - virtual int handle_close_i ( - ACE_HANDLE = ACE_INVALID_HANDLE, - ACE_Reactor_Mask = ACE_Event_Handler::NULL_MASK) {return 1;} - - /// This method deregisters the handler from the reactor and closes it. - int handle_cleanup (void); - private: /// Transport object reference. @@ -147,162 +151,6 @@ private: }; -//ass TAO_Export TAO_IIOP_Server_Connection_Handler : public TAO_IIOP_SVC_HANDLER, -// public TAO_Connection_Handler -// -//// = TITLE -//// Handles requests on a single connection in a server. -// -//blic: -//TAO_IIOP_Server_Connection_Handler (ACE_Thread_Manager* t = 0); -//TAO_IIOP_Server_Connection_Handler (TAO_ORB_Core *orb_core, -// CORBA::Boolean flag, -// void *arg); -//// Constructor. <arg> parameter is used by the Acceptor to pass the -//// protocol configuration properties for this connection. -// -//~TAO_IIOP_Server_Connection_Handler (void); -//// Destructor. -// -//virtual int open (void *); -//// Called by the <Strategy_Acceptor> when the handler is completely -//// connected. Argument is unused. -// -//// = Active object activation method. -//virtual int activate (long flags = THR_NEW_LWP, -// int n_threads = 1, -// int force_active = 0, -// long priority = ACE_DEFAULT_THREAD_PRIORITY, -// int grp_id = -1, -// ACE_Task_Base *task = 0, -// ACE_hthread_t thread_handles[] = 0, -// void *stack[] = 0, -// size_t stack_size[] = 0, -// ACE_thread_t thread_names[] = 0); -// -//virtual int svc (void); -//// Only used when the handler is turned into an active object by -//// calling <activate>. This serves as the event loop in such cases. -// -//// = Template Methods Called by <handle_input> -// -//TAO_Transport *transport (void); -// -//virtual ACE_HANDLE fetch_handle (void); -//// Return the underlying handle -// -//virtual int handle_close (ACE_HANDLE = ACE_INVALID_HANDLE, -// ACE_Reactor_Mask = ACE_Event_Handler::NULL_MASK); -//// Perform appropriate closing. -//otected: -// -//// = Event Handler overloads -// -//virtual int handle_input (ACE_HANDLE = ACE_INVALID_HANDLE); -//virtual int handle_input_i (ACE_HANDLE = ACE_INVALID_HANDLE, -// ACE_Time_Value *max_wait_time = 0); -//// Reads a message from the <peer()>, dispatching and servicing it -//// appropriately. -//// handle_input() just delegates on handle_input_i() which timeouts -//// after <max_wait_time>, this is used in thread-per-connection to -//// ensure that server threads eventually exit. -// -//otected: -// -//TAO_IIOP_Server_Transport transport_; -//// @@ New transport object reference. -// -//TAO_Pluggable_Messaging *acceptor_factory_; -//// Messaging acceptor factory -// -//u_long refcount_; -//// Reference count.It is used to count nested upcalls on this -//// svc_handler i.e., the connection can close during nested upcalls, -//// you should not delete the svc_handler until the stack unwinds -//// from the nested upcalls. -// -//TAO_IIOP_Properties *tcp_properties_; -//// TCP configuration for this connection. -// -// -//************************************************************************/ -//ass TAO_Export TAO_IIOP_Client_Connection_Handler: public TAO_IIOP_SVC_HANDLER, -// public TAO_Connection_Handler -// -//// = TITLE -//// <Svc_Handler> used on the client side and returned by the -//// <TAO_CONNECTOR>. -//blic: -//// = Intialization method. -// -//TAO_IIOP_Client_Connection_Handler (ACE_Thread_Manager* t = 0); -//// This constructor should *never* get called, it is just here to -//// make the compiler happy: the default implementation of the -//// Creation_Strategy requires a constructor with that signature, we -//// don't use that implementation, but some (most?) compilers -//// instantiate it anyway. -// -//TAO_IIOP_Client_Connection_Handler (ACE_Thread_Manager *t, -// TAO_ORB_Core* orb_core, -// CORBA::Boolean flag, -// void *arg); -//// Constructor. <arg> parameter is used by the Connector to pass the -//// protocol configuration properties for this connection. -// -//virtual ~TAO_IIOP_Client_Connection_Handler (void); -// -//// = <Connector> hook. -//virtual int open (void *); -//// Activation template method. -// -//// = Event Handler overloads -// -//virtual int handle_input (ACE_HANDLE = ACE_INVALID_HANDLE); -//// Called when a response from a twoway invocation is available. -// -// -//virtual int handle_timeout (const ACE_Time_Value &tv, -// const void *arg = 0); -//// Called when buffering timer expires. -// -//virtual int handle_close (ACE_HANDLE = ACE_INVALID_HANDLE, -// ACE_Reactor_Mask = ACE_Event_Handler::NULL_MASK); -//// Perform appropriate closing. -// -//virtual int handle_close_i (ACE_HANDLE = ACE_INVALID_HANDLE, -// ACE_Reactor_Mask = ACE_Event_Handler::NULL_MASK); -//// Perform appropriate closing but without grabbing any locks. -// -//virtual int close (u_long flags = 0); -//// Object termination hook. -// -//virtual TAO_Transport *transport (void); -//// Return the transport objects -// -//virtual ACE_HANDLE fetch_handle (void); -//// Return the underlying handle -// -//otected: -// -//int handle_cleanup (void); -//// This method deregisters the handler from the reactor and closes it. -// -//TAO_IIOP_Client_Transport transport_; -//// Reference to the transport object, it is owned by this class. -// -//TAO_IIOP_Properties *tcp_properties_; -//// TCP configuration for this connection. -// -//ivate: -// -//virtual int handle_input_i (ACE_HANDLE = ACE_INVALID_HANDLE, -// ACE_Time_Value *max_wait_time = 0); -//// Will not be called at all. As a matter of fact should not be -//// called. This is just to override the pure virtual function in the -//// TAO_Connection_Handler class -// - - #if defined (__ACE_INLINE__) #include "tao/IIOP_Connection_Handler.i" #endif /* __ACE_INLINE__ */ |