Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

TAO::Synch_Twoway_Invocation Class Reference

All the action for a synchronous twoway invocation happen here. More...

#include <Synch_Invocation.h>

Inheritance diagram for TAO::Synch_Twoway_Invocation:

Inheritance graph
[legend]
Collaboration diagram for TAO::Synch_Twoway_Invocation:

Collaboration graph
[legend]
List of all members.

Public Methods

 Synch_Twoway_Invocation (CORBA::Object_ptr otarget, Profile_Transport_Resolver &resolver, TAO_Operation_Details &detail, bool response_expected=true)
 Constructor used by TAO::Invocation_Adapter.

Invocation_Status remote_twoway (ACE_Time_Value *max_wait_time ACE_ENV_ARG_DECL) throw (CORBA::Exception)

Protected Methods

virtual Invocation_Status handle_user_exception (TAO_InputCDR &cdr ACE_ENV_ARG_DECL) throw (CORBA::Exception)
Invocation_Status location_forward (TAO_InputCDR &cdr ACE_ENV_ARG_DECL) throw (CORBA::SystemException)
 Helper method used to handle location forwarded replies.

Invocation_Status handle_system_exception (TAO_InputCDR &cdr ACE_ENV_ARG_DECL) throw (CORBA::SystemException)
Invocation_Status wait_for_reply (ACE_Time_Value *max_wait_time, TAO_Synch_Reply_Dispatcher &rd, TAO_Bind_Dispatcher_Guard &bd ACE_ENV_ARG_DECL) throw (CORBA::SystemException)
 As the name suggests waits for a reply from the remote ORB.


Private Methods

Invocation_Status check_reply_status (TAO_Synch_Reply_Dispatcher &rd ACE_ENV_ARG_DECL)

Detailed Description

All the action for a synchronous twoway invocation happen here.

An object of this is type is created by TAO::Invocation_Adapter and invokes a method on this class. The method takes care of creating and sending a request, waiting for a reply and demarshalling the reply for the client.


Constructor & Destructor Documentation

TAO::Synch_Twoway_Invocation::Synch_Twoway_Invocation CORBA::Object_ptr    otarget,
Profile_Transport_Resolver   resolver,
TAO_Operation_Details   detail,
bool    response_expected = true
 

Constructor used by TAO::Invocation_Adapter.

Parameters:
otarget, The  original target on which this invocation was started. This is there to be passed up to its parent class.
resolver, The  profile and transport holder.
op, operation  details of the invocation on the target
response_expected, flag  to indicate whether the operation encapsulated by op returns a response or not.


Member Function Documentation

Invocation_Status TAO::Synch_Twoway_Invocation::check_reply_status TAO_Synch_Reply_Dispatcher &rd    ACE_ENV_ARG_DECL [private]
 

This method returns an exception when there is an error.

Invocation_Status TAO::Synch_Twoway_Invocation::handle_system_exception TAO_InputCDR &cdr    ACE_ENV_ARG_DECL throw (CORBA::SystemException) [protected]
 

Helper method used to handle system exceptions from the remote objects.

Invocation_Status TAO::Synch_Twoway_Invocation::handle_user_exception TAO_InputCDR &cdr    ACE_ENV_ARG_DECL throw (CORBA::Exception) [protected, virtual]
 

This method is selectively made virtual, so that inherited classes can overload the user exception handling type. For example the DII needs a totally different method of user exception exception handling

Invocation_Status TAO::Synch_Twoway_Invocation::location_forward TAO_InputCDR &cdr    ACE_ENV_ARG_DECL throw (CORBA::SystemException) [protected]
 

Helper method used to handle location forwarded replies.

Invocation_Status TAO::Synch_Twoway_Invocation::remote_twoway ACE_Time_Value *max_wait_time    ACE_ENV_ARG_DECL throw (CORBA::Exception)
 

There is a exception declaration in this method which ensures that the exceptions propogated by the remote objects are converted a CORBA exceptions for the clients. This method does a bunch of things necessary to create and send the invocation. This method is also nerve centre for the interceptor invocation points.

Invocation_Status TAO::Synch_Twoway_Invocation::wait_for_reply ACE_Time_Value   max_wait_time,
TAO_Synch_Reply_Dispatcher   rd,
TAO_Bind_Dispatcher_Guard &bd    ACE_ENV_ARG_DECL
throw (CORBA::SystemException) [protected]
 

As the name suggests waits for a reply from the remote ORB.

This method returns an exception when there is an error.


The documentation for this class was generated from the following files:
Generated on Fri Apr 2 17:47:36 2004 for TAO by doxygen1.2.18