diff options
Diffstat (limited to 'TAO/tao/IIOP_Transport.h')
-rw-r--r-- | TAO/tao/IIOP_Transport.h | 211 |
1 files changed, 0 insertions, 211 deletions
diff --git a/TAO/tao/IIOP_Transport.h b/TAO/tao/IIOP_Transport.h deleted file mode 100644 index c0f3c05aea1..00000000000 --- a/TAO/tao/IIOP_Transport.h +++ /dev/null @@ -1,211 +0,0 @@ -// This may look like C, but it's really -*- C++ -*- -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// TAO -// -// = FILENAME -// IIOP_Transport.h -// -// = DESCRIPTION -// IIOP Transport specific processing -// -// = AUTHOR -// Fred Kuhns <fredk@cs.wustl.edu> -// -// ============================================================================ - -#ifndef TAO_IIOP_TRANSPORT_H -#define TAO_IIOP_TRANSPORT_H - -#include "tao/Pluggable.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/GIOP.h" - -// Forward decls. -class TAO_IIOP_Handler_Base; -class TAO_IIOP_Client_Connection_Handler; -class TAO_IIOP_Server_Connection_Handler; -class TAO_ORB_Core; - -class TAO_Export TAO_IIOP_Transport : public TAO_Transport -{ - // = TITLE - // This class acts as a bridge class to the transport specific - // connection handler (handler_). - // - // = DESCRIPTION - // Specialization of the base TAO_Transport class to handle the IIOP - // protocol. This class in turn will be further specialized for - // the client and server side. -public: - TAO_IIOP_Transport (TAO_IIOP_Handler_Base *handler, - TAO_ORB_Core *orb_core); - // Base object's creator method. - - ~TAO_IIOP_Transport (void); - // Default destructor. - - CORBA::ULong tag (void); - // Returns the specific IOP instance, in this case IIOP. - - void close_connection (void); - // Call the corresponding connection handlers close method. - - int idle (void); - // Idles the corresponding connection handler. - - TAO_IIOP_Handler_Base *&handler (void); - // Return a reference to the corresponding connection handler. - - ACE_HANDLE handle (void); - // Return the underlying connection handle. - - ssize_t send (const ACE_Message_Block *mblk, - ACE_Time_Value *s = 0); - // Write the contents of the Message_Block to the connection. - - ssize_t send (const u_char *buf, - size_t len, - ACE_Time_Value *s = 0); - // Write the contents of the buffer of length len to the connection. - - ssize_t send (const iovec *iov, - int iovcnt, - ACE_Time_Value *s = 0); - // Write the contents of iovcnt iovec's to the connection. - - ssize_t recv (char *buf, - size_t len, - ACE_Time_Value *s = 0); - // Read len bytes from into buf. - - ssize_t recv (char *buf, - size_t len, - int flags, - ACE_Time_Value *s = 0); - // Read len bytes from into buf using flags. - - ssize_t recv (iovec *iov, - int iovcnt, - ACE_Time_Value *s = 0); - // Read received data into the iovec buffers. - - virtual int send_request (TAO_ORB_Core *orb_core , - TAO_OutputCDR &stream, - int twoway, - ACE_Time_Value *max_wait_time); - // Default action to be taken for send request. - -protected: - TAO_IIOP_Handler_Base *handler_; - // the connection service handler used for accessing lower layer - // communication protocols. -}; - -class TAO_Export TAO_IIOP_Client_Transport : public TAO_IIOP_Transport -{ - // = TITLE - // The Transport class used for Client side communication with a - // server. - // - // = DESCRIPTION - // Specialization of the TAO_IIOP_Transport class for client - // side. Methods related to sending one and two way requests - // lives here. -public: - TAO_IIOP_Client_Transport (TAO_IIOP_Client_Connection_Handler *handler, - TAO_ORB_Core *orb_core); - // Constructor. Note, TAO_IIOP_Handler_Base is the base class for - // both TAO_IIOP_Client_Connection_Handler and - // TAO_IIOP_Server_Connection_Handler. - - ~TAO_IIOP_Client_Transport (void); - // destructor - - TAO_IIOP_Client_Connection_Handler *client_handler (void); - // return a pointer to the client's connection handler. - - virtual void start_request (TAO_ORB_Core *orb_core, - const TAO_Profile *profile, - const char* opname, - CORBA::ULong request_id, - CORBA::Boolean is_twoway, - TAO_OutputCDR &output, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - // Fill into <output> the right headers to make a request. - - virtual void start_locate (TAO_ORB_Core *orb_core, - const TAO_Profile *profile, - CORBA::ULong request_id, - TAO_OutputCDR &output, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - // Fill into <output> the right headers to make a locate request. - - int send_request (TAO_ORB_Core *orb_core, - TAO_OutputCDR &stream, - int twoway, - ACE_Time_Value *max_wait_time); - // This is a bridge method for the connection handlers - // <send_request> method. The connection handler is responsible for - // concurrency strategies, typically using the leader-follower - // pattern. - - int handle_client_input (int block = 0, - ACE_Time_Value *max_time_value = 0); - // Read and handle the reply. Returns 0 when there is Short Read on - // the connection. Returns 1 when the full reply is read and - // handled. If <block> is 1, then reply is read in a blocking - // manner. - - virtual int register_handler (void); - // Register the handler with the reactor. This will be called by the - // Wait Strategy if Reactor is used for that strategy. - -protected: - int check_unexpected_data (void); - // This method checks for unexpected data. - -private: - TAO_IIOP_Client_Connection_Handler *client_handler_; - // pointer to the corresponding client side connection handler. -}; - -// **************************************************************** - -class TAO_Export TAO_IIOP_Server_Transport : public TAO_IIOP_Transport -{ - // = TITLE - // The Transport class used for server communication with a - // connected client. - // - // = DESCRIPTION - // Specialization of the TAO_IIOP_Transport class for the server side. - // methods for reading messages (requests) and sending replies live - // here. -public: - - TAO_IIOP_Server_Transport (TAO_IIOP_Server_Connection_Handler *handler, - TAO_ORB_Core *orb_core); - // Default creator method. - - ~TAO_IIOP_Server_Transport (void); - // Default destructor - - TAO_IIOP_Server_Connection_Handler *server_handler_; - // Pointer to the corresponding connection handler. - - TAO_GIOP_Message_State message_state_; - // This keep the state of the current message, to enable - // non-blocking reads, fragment reassembly, etc. -}; - -#endif /* TAO_IIOP_TRANSPORT_H */ |