|
TAO 4.0.0
|
All the action for a synchronous twoway invocation happen here. More...
#include <Synch_Invocation.h>


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) |
| void | set_retry_state (Invocation_Retry_State *retry_state) |
Public Member Functions inherited from TAO::Remote_Invocation | |
| Remote_Invocation (CORBA::Object_ptr otarget, Profile_Transport_Resolver &resolver, TAO_Operation_Details &detail, bool response_expected) | |
| void | _tao_byte_order (int byte_order) |
| int | _tao_byte_order () |
Public Member Functions inherited from TAO::Invocation_Base | |
| virtual | ~Invocation_Base () |
| TAO_Stub * | stub () const |
| Accessor and mutator methods. | |
| CORBA::Object_ptr | forwarded_reference () |
| void | forwarded_reference (CORBA::Object_ptr o) |
| TAO_Service_Context & | request_service_context () |
| Accessors for the service context list. | |
| TAO_Service_Context & | reply_service_context () |
| CORBA::Object_ptr | steal_forwarded_reference () |
| Return the forwarded object location by loosing ownership. | |
| CORBA::Object_ptr | effective_target () const |
| Return the effective target of the invocation. | |
| CORBA::Object_ptr | target () const |
| Return the target object. | |
| CORBA::Boolean | response_expected () const |
| Does this invocation return a response? | |
| GIOP::ReplyStatusType | reply_status () const |
| Accessor of reply_status of the invocation. | |
| void | reply_status (GIOP::ReplyStatusType s) |
| Mutator of reply_status of the invocation. | |
| TAO_Operation_Details & | operation_details () |
| The operaton details of the invocation. | |
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. | |
Protected Member Functions inherited from TAO::Remote_Invocation | |
| void | init_target_spec (TAO_Target_Specification &spec, TAO_OutputCDR &output) |
| Initialize the spec. | |
| void | write_header (TAO_OutputCDR &out_stream) |
| Write the GIOP header into the stream. | |
| void | marshal_data (TAO_OutputCDR &cdr) |
| Marshal the arguments into the stream. | |
| Invocation_Status | send_message (TAO_OutputCDR &cdr, TAO_Message_Semantics message_semantics, ACE_Time_Value *max_wait_time) |
| Write the message onto the socket. | |
Protected Member Functions inherited from TAO::Invocation_Base | |
| Invocation_Base (CORBA::Object_ptr otarget, CORBA::Object_ptr target, TAO_Stub *stub, TAO_Operation_Details &op, bool response_expected, bool request_is_remote) | |
Protected Attributes | |
| Invocation_Retry_State * | retry_state_ |
Protected Attributes inherited from TAO::Remote_Invocation | |
| Profile_Transport_Resolver & | resolver_ |
| Our resolver. | |
| int | byte_order_ |
| Intended byte order for message output stream. | |
Protected Attributes inherited from TAO::Invocation_Base | |
| TAO_Operation_Details & | details_ |
| The operation details on which we are operating on. | |
| CORBA::Object_var | forwarded_to_ |
| Forwarded object reference. | |
| bool | response_expected_ |
| Is response expected? | |
| GIOP::ReplyStatusType | reply_status_ |
| A GIOP reply status of the invocation. | |
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.
| 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.
| 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. |
|
private |
Helper method that checks the reply status of the replies and takes appropriate action. This method returns an exception when there is an error.
|
protected |
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.
|
protectedvirtual |
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
|
protected |
Helper method used to handle location forwarded replies.
| Invocation_Status TAO::Synch_Twoway_Invocation::remote_twoway | ( | ACE_Time_Value * | max_wait_time | ) |
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 propagated 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.
| void TAO::Synch_Twoway_Invocation::set_retry_state | ( | Invocation_Retry_State * | retry_state | ) |
Indicate that retry state should be tracked and controlled in the presence of exceptions.
|
protected |
As the name suggests waits for a reply from the remote ORB.
This method returns an exception when there is an error.
|
protected |