TAO_IORTable  2.3.3
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Attributes | List of all members
TAO_AMH_Locate_ResponseHandler Class Reference

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

#include <Locate_ResponseHandler.h>

Inheritance diagram for TAO_AMH_Locate_ResponseHandler:
Inheritance graph
[legend]
Collaboration diagram for TAO_AMH_Locate_ResponseHandler:
Collaboration graph
[legend]

Public Types

typedef TAO_AMH_Locate_ResponseHandler_ptr _ptr_type
 
typedef TAO_AMH_Locate_ResponseHandler_var _var_type
 

Public Member Functions

 TAO_AMH_Locate_ResponseHandler (TAO_ServerRequest &sr)
 
 ~TAO_AMH_Locate_ResponseHandler (void)
 
virtual void raise_excep (const CORBA::Exception &ex)
 
virtual void forward_ior (const char *ior, CORBA::Boolean is_perm)
 
CORBA::Object_ptr _this ()
 Returns a CORBA::Object_ptr for the target object. More...
 

Static Public Member Functions

static TAO_AMH_Locate_ResponseHandler_duplicate (TAO_AMH_Locate_ResponseHandler_ptr)
 CORBA Object related methods. More...
 
static TAO_AMH_Locate_ResponseHandler_nil (void)
 
static TAO_AMH_Locate_ResponseHandler_narrow (CORBA::Object_ptr)
 
static TAO_AMH_Locate_ResponseHandler_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

CORBA::ORB_var orb_
 

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_Locate_ResponseHandler::TAO_AMH_Locate_ResponseHandler ( TAO_ServerRequest sr)
TAO_AMH_Locate_ResponseHandler::~TAO_AMH_Locate_ResponseHandler ( void  )

Member Function Documentation

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

Simply returns "this".

TAO_AMH_Locate_ResponseHandler_ptr TAO_AMH_Locate_ResponseHandler::_duplicate ( TAO_AMH_Locate_ResponseHandler_ptr  x)
static

CORBA Object related methods.

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

Return 0. Should never be used.

TAO_AMH_Locate_ResponseHandler_ptr TAO_AMH_Locate_ResponseHandler::_narrow ( CORBA::Object_ptr  obj)
static
TAO_AMH_Locate_ResponseHandler_ptr TAO_AMH_Locate_ResponseHandler::_nil ( void  )
static
CORBA::Object_ptr TAO_AMH_Locate_ResponseHandler::_this ( )

Returns a CORBA::Object_ptr for the target object.

TAO_AMH_Locate_ResponseHandler_ptr TAO_AMH_Locate_ResponseHandler::_unchecked_narrow ( CORBA::Object_ptr  obj)
static
void TAO_AMH_Locate_ResponseHandler::forward_ior ( const char *  ior,
CORBA::Boolean  is_perm 
)
virtual
void TAO_AMH_Locate_ResponseHandler::raise_excep ( const CORBA::Exception ex)
virtual

Member Data Documentation

CORBA::ORB_var TAO_AMH_Locate_ResponseHandler::orb_
private

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