Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class 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 Member Functions

 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 Member Functions

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 Member Functions

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.
detail 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 Thu Jun 9 00:19:20 2005 for TAO by  doxygen 1.3.9.1