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:

[legend]
Collaboration diagram for TAO::Synch_Twoway_Invocation:

[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:

- Synch_Invocation.h
- Synch_Invocation.cpp