TAO
2.3.3
|
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. More... | |
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 (void) |
TAO_Stub * | stub (void) const |
Accessor and mutator methods. More... | |
CORBA::Object_ptr | forwarded_reference (void) |
void | forwarded_reference (CORBA::Object_ptr o) |
Accessor and mutator methods. More... | |
TAO_Service_Context & | request_service_context (void) |
Accessors for the service context list. More... | |
TAO_Service_Context & | reply_service_context (void) |
Accessor and mutator methods. More... | |
CORBA::Object_ptr | steal_forwarded_reference (void) |
Return the forwarded object location by loosing ownership. More... | |
CORBA::Object_ptr | effective_target (void) const |
Return the effective target of the invocation. More... | |
CORBA::Object_ptr | target (void) const |
Return the target object. More... | |
CORBA::Boolean | response_expected (void) const |
Does this invocation return a response? More... | |
GIOP::ReplyStatusType | reply_status (void) const |
Accessor of reply_status of the invocation. More... | |
void | reply_status (GIOP::ReplyStatusType s) |
Mutator of reply_status of the invocation. More... | |
TAO_Operation_Details & | operation_details (void) |
The operaton details of the invocation. More... | |
size_t & | stack_size (void) |
CORBA::Exception * | caught_exception (void) |
The client requestor adapter. More... | |
TAO::Invocation_Status | invoke_status (void) const |
Invocation status. More... | |
void | invoke_status (Invocation_Status s) |
Mutator to set the invocation status. More... | |
PortableInterceptor::ReplyStatus | pi_reply_status (void) const |
The client requestor adapter. More... | |
bool | is_remote_request () const |
Protected Attributes | |
Invocation_Retry_State * | retry_state_ |
Protected Attributes inherited from TAO::Remote_Invocation | |
Profile_Transport_Resolver & | resolver_ |
Our resolver. More... | |
int | byte_order_ |
Intended byte order for message output stream. More... | |
Protected Attributes inherited from TAO::Invocation_Base | |
TAO_Operation_Details & | details_ |
The operation details on which we are operating on. More... | |
CORBA::Object_var | forwarded_to_ |
Forwarded object reference. More... | |
bool | response_expected_ |
Is response expected? More... | |
GIOP::ReplyStatusType | reply_status_ |
A GIOP reply status of the invocation. More... | |
ClientRequestInterceptor_Adapter * | cri_adapter_ |
The client requestor adapter. More... | |
ServerRequestInterceptor_Adapter * | sri_adapter_ |
The client requestor adapter. More... | |
size_t | stack_size_ |
The client requestor adapter. More... | |
TAO::Invocation_Status | invoke_status_ |
The client requestor adapter. More... | |
Private Member Functions | |
Invocation_Status | check_reply_status (TAO_Synch_Reply_Dispatcher &rd) |
Additional Inherited Members | |
Public Attributes inherited from TAO::Invocation_Base | |
void exception CORBA::Exception * | exception |
Change the exception status. More... | |
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 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.
void TAO::Synch_Twoway_Invocation::set_retry_state | ( | Invocation_Retry_State * | retry_state | ) |
Indicate that retry state should be tracked and controlled in the presense 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 |