Strategy to determine whether the connection should be multiplexed for multiple requests or it is exclusive for a single request at a time. More...
#include <Transport_Mux_Strategy.h>


| Public Member Functions | |
| TAO_Transport_Mux_Strategy (TAO_Transport *transport) | |
| Base class constructor. | |
| virtual | ~TAO_Transport_Mux_Strategy (void) | 
| Base class destructor. | |
| virtual CORBA::ULong | request_id (void)=0 | 
| virtual int | bind_dispatcher (CORBA::ULong request_id, ACE_Intrusive_Auto_Ptr< TAO_Reply_Dispatcher > rd)=0 | 
| virtual int | unbind_dispatcher (CORBA::ULong request_id)=0 | 
| virtual int | reply_timed_out (CORBA::ULong request_id)=0 | 
| virtual int | dispatch_reply (TAO_Pluggable_Reply_Params ¶ms)=0 | 
| virtual bool | idle_after_send (void)=0 | 
| virtual bool | idle_after_reply (void)=0 | 
| virtual void | connection_closed (void)=0 | 
| virtual bool | has_request (void)=0 | 
| Do we have a request pending. | |
| Protected Attributes | |
| TAO_Transport * | transport_ | 
| Cache the transport reference. | |
Strategy to determine whether the connection should be multiplexed for multiple requests or it is exclusive for a single request at a time.
| TAO_Transport_Mux_Strategy::TAO_Transport_Mux_Strategy | ( | TAO_Transport * | transport | ) | 
Base class constructor.
| TAO_Transport_Mux_Strategy::~TAO_Transport_Mux_Strategy | ( | void | ) |  [virtual] | 
Base class destructor.
| virtual int TAO_Transport_Mux_Strategy::bind_dispatcher | ( | CORBA::ULong | request_id, | |
| ACE_Intrusive_Auto_Ptr< TAO_Reply_Dispatcher > | rd | |||
| ) |  [pure virtual] | 
Bind the dispatcher with the request id. Commonalities in the derived class implementations is kept here.
Implemented in TAO_Exclusive_TMS, and TAO_Muxed_TMS.
| virtual void TAO_Transport_Mux_Strategy::connection_closed | ( | void | ) |  [pure virtual] | 
The transport object has closed the connection, inform all Reply dispatchers and waiting strategies.
Implemented in TAO_Exclusive_TMS, and TAO_Muxed_TMS.
| virtual int TAO_Transport_Mux_Strategy::dispatch_reply | ( | TAO_Pluggable_Reply_Params & | params | ) |  [pure virtual] | 
Dispatch the reply for request_id, cleanup any resources allocated for that request.
Implemented in TAO_Exclusive_TMS, and TAO_Muxed_TMS.
| virtual bool TAO_Transport_Mux_Strategy::has_request | ( | void | ) |  [pure virtual] | 
Do we have a request pending.
Implemented in TAO_Exclusive_TMS, and TAO_Muxed_TMS.
| virtual bool TAO_Transport_Mux_Strategy::idle_after_reply | ( | void | ) |  [pure virtual] | 
Request is sent and the reply is received. Idle the transport now. The return value indicates whether idling was successful or not.
Implemented in TAO_Exclusive_TMS, and TAO_Muxed_TMS.
| virtual bool TAO_Transport_Mux_Strategy::idle_after_send | ( | void | ) |  [pure 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.
Implemented in TAO_Exclusive_TMS, and TAO_Muxed_TMS.
| virtual int TAO_Transport_Mux_Strategy::reply_timed_out | ( | CORBA::ULong | request_id | ) |  [pure virtual] | 
Dispatch a reply timeout for request request_id
Implemented in TAO_Exclusive_TMS, and TAO_Muxed_TMS.
| virtual CORBA::ULong TAO_Transport_Mux_Strategy::request_id | ( | void | ) |  [pure virtual] | 
Generate and return an unique request id for the current invocation.
Implemented in TAO_Exclusive_TMS, and TAO_Muxed_TMS.
| virtual int TAO_Transport_Mux_Strategy::unbind_dispatcher | ( | CORBA::ULong | request_id | ) |  [pure virtual] | 
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.
Implemented in TAO_Exclusive_TMS, and TAO_Muxed_TMS.
| TAO_Transport* TAO_Transport_Mux_Strategy::transport_  [protected] | 
Cache the transport reference.
 1.7.1
 1.7.1