TAO_DynamicInterface  2.2.6
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Attributes | List of all members
TAO_AMH_DSI_Response_Handler Class Reference

This is the main class for DSI using AMH. More...

#include <AMH_DSI_Response_Handler.h>

Inheritance diagram for TAO_AMH_DSI_Response_Handler:
Inheritance graph
Collaboration diagram for TAO_AMH_DSI_Response_Handler:
Collaboration graph

Public Types

typedef
TAO_AMH_DSI_Response_Handler_ptr 
_ptr_type
 
typedef
TAO_AMH_DSI_Response_Handler_var 
_var_type
 

Public Member Functions

 TAO_AMH_DSI_Response_Handler (TAO_ServerRequest &sr)
 
 ~TAO_AMH_DSI_Response_Handler (void)
 
virtual void invoke_reply (CORBA::NVList_ptr args, CORBA::NamedValue_ptr result)
 
virtual void invoke_excep (TAO_AMH_DSI_Exception_Holder *h)
 
virtual void invoke_location_forward (CORBA::Object_ptr fwd, CORBA::Boolean is_perm)
 
virtual void gateway_exception_reply (CORBA::ULong reply_status, TAO_OutputCDR &encap)
 
virtual void gateway_exception_reply (CORBA::ULong reply_status, TAO_InputCDR &encap)
 
CORBA::Object_ptr _this ()
 Returns a CORBA::Object_ptr for the target object. More...
 

Static Public Member Functions

static
TAO_AMH_DSI_Response_Handler
_duplicate (TAO_AMH_DSI_Response_Handler_ptr)
 CORBA Object related methods. More...
 
static
TAO_AMH_DSI_Response_Handler
_nil (void)
 
static
TAO_AMH_DSI_Response_Handler
_narrow (CORBA::Object_ptr)
 
static
TAO_AMH_DSI_Response_Handler
_unchecked_narrow (CORBA::Object_ptr)
 

Protected Member Functions

virtual const char * _interface_repository_id (void) const
 Return 0. Should never be used. More...
 
virtual void * _downcast (const char *repository_id)
 Simply returns "this". More...
 

Private Attributes

TAO_ORB_Coreorb_core_
 

Detailed Description

This is the main class for DSI using AMH.

With ordinary DSI, the POA calls _dispatch, which in turn calls invoke on the DSI handler. Invoke completely handles the request, and packages the result in the request object so that it can be marshalled and sent back to the caller.

With the AMH variation, the DSI handler's invoke method starts the processing, but delegates the result packaging to a response handler. This way, if the invocation takes a long time, or involves blocking calls, then the result handling can be managed by another thread. This is particularly useful for gateway implementations, where the middle tier should not have to block waiting for replies.

As this is built on the CORBA object model, there are separate classes representing the interface and the implementation.

Member Typedef Documentation

Constructor & Destructor Documentation

TAO_AMH_DSI_Response_Handler::TAO_AMH_DSI_Response_Handler ( TAO_ServerRequest sr)
TAO_AMH_DSI_Response_Handler::~TAO_AMH_DSI_Response_Handler ( void  )

Member Function Documentation

void * TAO_AMH_DSI_Response_Handler::_downcast ( const char *  repository_id)
protectedvirtual

Simply returns "this".

TAO_AMH_DSI_Response_Handler_ptr TAO_AMH_DSI_Response_Handler::_duplicate ( TAO_AMH_DSI_Response_Handler_ptr  x)
static

CORBA Object related methods.

const char * TAO_AMH_DSI_Response_Handler::_interface_repository_id ( void  ) const
protectedvirtual

Return 0. Should never be used.

TAO_AMH_DSI_Response_Handler_ptr TAO_AMH_DSI_Response_Handler::_narrow ( CORBA::Object_ptr  obj)
static
TAO_AMH_DSI_Response_Handler_ptr TAO_AMH_DSI_Response_Handler::_nil ( void  )
static
CORBA::Object_ptr TAO_AMH_DSI_Response_Handler::_this ( )

Returns a CORBA::Object_ptr for the target object.

TAO_AMH_DSI_Response_Handler_ptr TAO_AMH_DSI_Response_Handler::_unchecked_narrow ( CORBA::Object_ptr  obj)
static
void TAO_AMH_DSI_Response_Handler::gateway_exception_reply ( CORBA::ULong  reply_status,
TAO_OutputCDR encap 
)
virtual
void TAO_AMH_DSI_Response_Handler::gateway_exception_reply ( CORBA::ULong  reply_status,
TAO_InputCDR encap 
)
virtual
void TAO_AMH_DSI_Response_Handler::invoke_excep ( TAO_AMH_DSI_Exception_Holder h)
virtual
void TAO_AMH_DSI_Response_Handler::invoke_location_forward ( CORBA::Object_ptr  fwd,
CORBA::Boolean  is_perm 
)
virtual
void TAO_AMH_DSI_Response_Handler::invoke_reply ( CORBA::NVList_ptr  args,
CORBA::NamedValue_ptr  result 
)
virtual

Member Data Documentation

TAO_ORB_Core* TAO_AMH_DSI_Response_Handler::orb_core_
private

The documentation for this class was generated from the following files: