TAO_DynamicInterface
2.0.8
|
This is the main class for DSI using AMH. More...
#include <AMH_DSI_Response_Handler.h>
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.
TAO_AMH_DSI_Response_Handler::TAO_AMH_DSI_Response_Handler | ( | TAO_ServerRequest & | sr | ) |
TAO_AMH_DSI_Response_Handler::~TAO_AMH_DSI_Response_Handler | ( | void | ) |
void * TAO_AMH_DSI_Response_Handler::_downcast | ( | const char * | repository_id | ) | [protected, virtual] |
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 [protected, virtual] |
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] |