All the action for a synchronous twoway invocation happen here. More...
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)|
Protected Member Functions
|virtual Invocation_Status||handle_user_exception (TAO_InputCDR &cdr)|
|Invocation_Status||location_forward (TAO_InputCDR &cdr)|
|Helper method used to handle location forwarded replies. |
|Invocation_Status||handle_system_exception (TAO_InputCDR &cdr)|
|Invocation_Status||wait_for_reply (ACE_Time_Value *max_wait_time, TAO_Synch_Reply_Dispatcher &rd, TAO_Bind_Dispatcher_Guard &bd)|
|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)|
All the action for a synchronous twoway invocation happen here.
An object of this 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.
|bool|| response_expected = |
Constructor used by TAO::Invocation_Adapter.
|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.|
|Invocation_Status TAO::Synch_Twoway_Invocation::check_reply_status||(||TAO_Synch_Reply_Dispatcher &||rd||)||
Helper method that checks the reply status of the replies and takes appropriate action. This method returns an exception when there is an error.
|Invocation_Status TAO::Synch_Twoway_Invocation::handle_system_exception||(||TAO_InputCDR &||cdr||)||
Helper method used to handle system exceptions from the remote objects.
There has been a unanimous view that this is not the right way to do things. But a need to be compliant is forcing us into this.
|Invocation_Status TAO::Synch_Twoway_Invocation::handle_user_exception||(||TAO_InputCDR &||cdr||)||
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
Helper method used to handle location forwarded replies.
Method used by the adapter to kickstart an invocation to the remote object. 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,|
As the name suggests waits for a reply from the remote ORB.
This method returns an exception when there is an error.