TAO
2.3.3
|
#include <Exclusive_TMS.h>
Public Member Functions | |
TAO_Exclusive_TMS (TAO_Transport *transport) | |
Constructor. More... | |
virtual | ~TAO_Exclusive_TMS (void) |
Destructor. More... | |
The TAO_Transport_Mux_Strategy overrided methods | |
Please read the documentation in the TAO_Transport_Mux_Strategy class for details. | |
virtual CORBA::ULong | request_id (void) |
virtual int | bind_dispatcher (CORBA::ULong request_id, ACE_Intrusive_Auto_Ptr< TAO_Reply_Dispatcher > rd) |
virtual int | unbind_dispatcher (CORBA::ULong request_id) |
virtual int | dispatch_reply (TAO_Pluggable_Reply_Params ¶ms) |
virtual int | reply_timed_out (CORBA::ULong request_id) |
virtual bool | idle_after_send (void) |
virtual bool | idle_after_reply (void) |
virtual void | connection_closed (void) |
virtual bool | has_request (void) |
Do we have a request pending. More... | |
Public Member Functions inherited from TAO_Transport_Mux_Strategy | |
TAO_Transport_Mux_Strategy (TAO_Transport *transport) | |
Base class constructor. More... | |
virtual | ~TAO_Transport_Mux_Strategy (void) |
Base class destructor. More... | |
Protected Attributes | |
CORBA::ULong | request_id_generator_ |
CORBA::ULong | request_id_ |
Request id for the current request. More... | |
ACE_Intrusive_Auto_Ptr< TAO_Reply_Dispatcher > | rd_ |
Protected Attributes inherited from TAO_Transport_Mux_Strategy | |
TAO_Transport * | transport_ |
Cache the transport reference. More... | |
Using this strategy only one request can be pending at a time in a connection. 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.
TAO_Exclusive_TMS::TAO_Exclusive_TMS | ( | TAO_Transport * | transport | ) |
Constructor.
|
virtual |
Destructor.
|
virtual |
Bind the dispatcher with the request id. Commonalities in the derived class implementations is kept here.
Implements TAO_Transport_Mux_Strategy.
|
virtual |
The transport object has closed the connection, inform all Reply dispatchers and waiting strategies.
Implements TAO_Transport_Mux_Strategy.
|
virtual |
Dispatch the reply for request_id, cleanup any resources allocated for that request.
Implements TAO_Transport_Mux_Strategy.
|
virtual |
Do we have a request pending.
Implements TAO_Transport_Mux_Strategy.
|
virtual |
Request is sent and the reply is received. Idle the transport now. The return value indicates whether idling was successful or not.
Implements TAO_Transport_Mux_Strategy.
|
virtual |
Request has been just sent, but the reply is not received. Idle the transport now. The return value indicates whether idling was successful or not.
Implements TAO_Transport_Mux_Strategy.
|
virtual |
Dispatch a reply timeout for request request_id
Implements TAO_Transport_Mux_Strategy.
|
virtual |
Generate and return an unique request id for the current invocation.
Implements TAO_Transport_Mux_Strategy.
|
virtual |
Unbind the dispatcher, the client is no longer waiting for the request, for example, because the request timed out. The strategy can (must) cleanup any resources associated with the request. A later reply for that request should be ignored.
Implements TAO_Transport_Mux_Strategy.
|
protected |
Reply Dispatcher corresponding to the request. If this is zero we don't have a reply, if it not zero we have one
|
protected |
Request id for the current request.
|
protected |
Used to generate a different request_id on each call to request_id().