#include <Exclusive_TMS.h>
Inheritance diagram for TAO_Exclusive_TMS:
Public Methods | |
TAO_Exclusive_TMS (TAO_Transport *transport) | |
Constructor. More... | |
virtual | ~TAO_Exclusive_TMS (void) |
Destructor. More... | |
The TAO_Transport_Mux_Strategy overrided methods | |
virtual CORBA::ULong | request_id (void) |
Generate and return an unique request id for the current invocation. More... | |
virtual int | bind_dispatcher (CORBA::ULong request_id, TAO_Reply_Dispatcher *rh) |
Bind the dispatcher with the request id. Commonalities in the derived class implementations is kept here. More... | |
virtual void | unbind_dispatcher (CORBA::ULong request_id) |
Unbind the dispatcher, the client is no longer waiting for the request, for example, because the request timedout. More... | |
virtual int | dispatch_reply (TAO_Pluggable_Reply_Params ¶ms) |
Dispatch the reply for <request_id>, cleanup any resources allocated for that request. More... | |
virtual int | idle_after_send (void) |
Request has been just sent, but the reply is not received. Idle the transport now. More... | |
virtual int | idle_after_reply (void) |
Request is sent and the reply is received. Idle the transport now. More... | |
virtual void | connection_closed (void) |
The transport object has closed the connection, inform all Reply dispatchers and waiting strategies. More... | |
Protected Attributes | |
CORBA::ULong | request_id_generator_ |
Used to generate a different request_id on each call to request_id(). More... | |
int | has_request_ |
If 0 then the request id and reply dispatcher below are meaningless. More... | |
CORBA::ULong | request_id_ |
Request id for the current request. More... | |
TAO_Reply_Dispatcher * | rd_ |
Reply Dispatcher corresponding to the request. More... |
This improves performance because the client does not have to demux the reply, and there is less need for synchronization. On the other hand, it does not scale well when you have multiple client threads or asynchronous messaging.
|
Constructor.
|
|
Destructor.
|
|
Bind the dispatcher with the request id. Commonalities in the derived class implementations is kept here.
Reimplemented from TAO_Transport_Mux_Strategy. |
|
The transport object has closed the connection, inform all Reply dispatchers and waiting strategies.
Reimplemented from TAO_Transport_Mux_Strategy. |
|
Dispatch the reply for <request_id>, cleanup any resources allocated for that request.
Reimplemented from TAO_Transport_Mux_Strategy. |
|
Request is sent and the reply is received. Idle the transport now.
Reimplemented from TAO_Transport_Mux_Strategy. |
|
Request has been just sent, but the reply is not received. Idle the transport now.
Reimplemented from TAO_Transport_Mux_Strategy. |
|
Generate and return an unique request id for the current invocation.
Reimplemented from TAO_Transport_Mux_Strategy. |
|
Unbind the dispatcher, the client is no longer waiting for the request, for example, because the request timedout. The strategy can (must) cleanup any resources associated with the request. A later reply for that request should be ignored. Reimplemented from TAO_Transport_Mux_Strategy. |
|
If 0 then the request id and reply dispatcher below are meaningless.
|
|
Reply Dispatcher corresponding to the request.
|
|
Request id for the current request.
|
|
Used to generate a different request_id on each call to request_id().
|