summaryrefslogtreecommitdiff
path: root/TAO/tao/Connect.h
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tao/Connect.h')
-rw-r--r--TAO/tao/Connect.h252
1 files changed, 0 insertions, 252 deletions
diff --git a/TAO/tao/Connect.h b/TAO/tao/Connect.h
deleted file mode 100644
index adf52abc8a2..00000000000
--- a/TAO/tao/Connect.h
+++ /dev/null
@@ -1,252 +0,0 @@
-// This may look like C, but it's really -*- C++ -*-
-// $Id$
-
-#ifndef TAO_CONNECT_H
-# define TAO_CONNECT_H
-
-// ============================================================================
-//
-// = LIBRARY
-// TAO
-//
-// = FILENAME
-// Connect.h
-//
-// = AUTHOR
-// Chris Cleeland
-//
-// ============================================================================
-
-# include "ace/Reactor.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-# include "ace/Acceptor.h"
-# include "ace/SOCK_Acceptor.h"
-# include "ace/Synch.h"
-# include "ace/Svc_Handler.h"
-
-# include "tao/corbafwd.h"
-
-// Forward Decls
-class TAO_OA_Parameters;
-class TAO_Transport;
-class TAO_IIOP_Transport;
-class TAO_IIOP_Client_Transport;
-class TAO_IIOP_Server_Transport;
-class TAO_ORB_Core;
-
-typedef ACE_Svc_Handler<TAO_SOCK_STREAM, ACE_NULL_SYNCH>
- TAO_SVC_HANDLER;
-
-class TAO_IIOP_Handler_Base : public TAO_SVC_HANDLER
-{
-public:
- TAO_IIOP_Handler_Base (ACE_Thread_Manager *t);
- TAO_IIOP_Handler_Base (TAO_ORB_Core *orb_core);
-
- virtual TAO_Transport *transport (void) = 0;
-};
-
-class TAO_Export TAO_Client_Connection_Handler : public TAO_IIOP_Handler_Base
-{
- // = TITLE
- // <Svc_Handler> used on the client side and returned by the
- // <TAO_CONNECTOR>.
-public:
- // = Intialization method.
- TAO_Client_Connection_Handler (ACE_Thread_Manager *t = 0);
-
- virtual ~TAO_Client_Connection_Handler (void);
-
- // = <Connector> hook.
- virtual int open (void *);
- // Activation template method.
-
- virtual int send_request (TAO_ORB_Core* orb_core,
- TAO_OutputCDR &stream,
- int is_twoway);
- // Send the request in <stream>. If it is a twoway invocation, then
- // this re-enters the reactor event loop so that incoming requests
- // can continue to be serviced. This insures that a nested upcall,
- // i.e., an invocation coming back from the remote during this
- // invocation, will still be handled and deadlock averted.
-
- // = Event Handler overloads
-
- virtual int handle_input (ACE_HANDLE = ACE_INVALID_HANDLE);
- // Called when a a response from a twoway invocation is available.
-
- virtual int handle_close (ACE_HANDLE = ACE_INVALID_HANDLE,
- ACE_Reactor_Mask = ACE_Event_Handler::NULL_MASK);
- // Perform appropriate closing.
-
- virtual int close (u_long flags = 0);
- // Object termination hook.
-
- virtual TAO_Transport *transport (void);
-
-protected:
-
- TAO_IIOP_Client_Transport *iiop_transport_;
- // @@ New transport object reference.
- // The handler is responsible for creating this object when
- // it is instantiated. fredk
-
- int check_unexpected_data (void);
- // This method checks for unexpected data
-
- int expecting_response_;
- // State flag which, if non-zero, indicates that this handler is
- // looking to get input. Otherwise, any input received is
- // unexpected.
-
- int input_available_;
- // Flag indicating whether or not input is available. Only valid
- // when <expecting_response_> is non-zero.
-};
-
-class TAO_Export TAO_ST_Client_Connection_Handler : public TAO_Client_Connection_Handler
-{
-public:
- TAO_ST_Client_Connection_Handler (ACE_Thread_Manager *t = 0);
-
- virtual ~TAO_ST_Client_Connection_Handler (void);
-
- virtual int send_request (TAO_ORB_Core* orb_core,
- TAO_OutputCDR &stream,
- int is_twoway);
- // Send the request in <stream>. If it is a twoway invocation, then
- // this re-enters the reactor event loop so that incoming requests
- // can continue to be serviced. This insures that a nested upcall,
- // i.e., an invocation coming back from the remote during this
- // invocation, will still be handled and deadlock averted.
-
- virtual int handle_input (ACE_HANDLE = ACE_INVALID_HANDLE);
- // Called when a a response from a twoway invocation is available.
-
-protected:
-
-};
-
-class TAO_Export TAO_MT_Client_Connection_Handler : public TAO_Client_Connection_Handler
-{
-public:
- TAO_MT_Client_Connection_Handler (ACE_Thread_Manager *t = 0);
-
- virtual ~TAO_MT_Client_Connection_Handler (void);
-
- virtual int send_request (TAO_ORB_Core* orb_core,
- TAO_OutputCDR &stream,
- int is_twoway);
- // Send the request in <stream>. If it is a twoway invocation, then
- // this re-enters the reactor event loop so that incoming requests
- // can continue to be serviced. This insures that a nested upcall,
- // i.e., an invocation coming back from the remote during this
- // invocation, will still be handled and deadlock averted.
-
- virtual int handle_input (ACE_HANDLE = ACE_INVALID_HANDLE);
- // Called when a a response from a twoway invocation is available.
-
-protected:
-
- ACE_thread_t calling_thread_;
- // the thread ID of the thread we were running in.
-
- ACE_SYNCH_CONDITION* cond_response_available_;
- // wait on reponse if the leader-follower model is active
-};
-
-// ****************************************************************
-
-class TAO_ORB_Core;
-
-class TAO_Export TAO_Server_Connection_Handler : public TAO_IIOP_Handler_Base
-{
- // = TITLE
- // Handles requests on a single connection in a server.
-
-public:
- TAO_Server_Connection_Handler (ACE_Thread_Manager* t = 0);
- TAO_Server_Connection_Handler (TAO_ORB_Core *orb_core);
- // Constructor.
-
- 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>
-
- virtual int handle_message (TAO_InputCDR &msg,
- TAO_OutputCDR &response,
- CORBA::Boolean &response_required,
- CORBA::ULong &request_id,
- CORBA_Environment &TAO_IN_ENV = CORBA::default_environment ());
- // Handle processing of the request residing in <msg>, setting
- // <response_required> to zero if the request is for a oneway or
- // non-zero if for a two-way and <response> to any necessary
- // response (including errors). In case of errors, -1 is returned
- // and additional information carried in <env>.
-
- TAO_Transport *transport (void);
-
-protected:
- TAO_IIOP_Server_Transport *iiop_transport_;
- // @@ New transport object reference.
-
- virtual int handle_locate (TAO_InputCDR &msg,
- TAO_OutputCDR &response,
- CORBA::Boolean &response_required,
- CORBA::ULong &request_id,
- CORBA_Environment &TAO_IN_ENV = CORBA::default_environment ());
- // Handle processing of the location request residing in <msg>,
- // setting <response_required> to one if no errors are encountered.
- // The LocateRequestReply is placed into <response>. In case of
- // errors, -1 is returned and additional information carried in
- // <TAO_IN_ENV>.
-
- virtual void send_response (TAO_OutputCDR &response);
- // Send <response> to the client on the other end.
-
- void send_error (CORBA::ULong request_id,
- CORBA::Exception *ex);
- // Send <error> to the client on the other end, which
- // means basically sending the exception.
-
- // = Event Handler overloads
-
- virtual int handle_input (ACE_HANDLE = ACE_INVALID_HANDLE);
- // Reads a message from the <peer()>, dispatching and servicing it
- // appropriately.
-
- virtual int handle_close (ACE_HANDLE = ACE_INVALID_HANDLE,
- ACE_Reactor_Mask = ACE_Event_Handler::NULL_MASK);
- // Perform appropriate closing.
-
- TAO_ORB_Core *orb_core_;
- // Cache the ORB Core to minimize
-};
-
-#if defined (__ACE_INLINE__)
-# include "tao/Connect.i"
-#endif /* __ACE_INLINE__ */
-
-#endif /* TAO_CONNECT_H */