| TAO
    2.4.2
    | 
#include <Muxed_TMS.h>


| Public Member Functions | |
| TAO_Muxed_TMS (TAO_Transport *transport) | |
| Constructor.  More... | |
| virtual | ~TAO_Muxed_TMS (void) | 
| Destructor.  More... | |
| virtual CORBA::ULong | request_id (void) | 
| virtual int | bind_dispatcher (CORBA::ULong request_id, ACE_Intrusive_Auto_Ptr< TAO_Reply_Dispatcher > rd) | 
| Bind the dispatcher with the request id.  More... | |
| 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... | |
| Private Types | |
| typedef ACE_Hash_Map_Manager_Ex< CORBA::ULong, ACE_Intrusive_Auto_Ptr< TAO_Reply_Dispatcher >, ACE_Hash< CORBA::ULong >, ACE_Equal_To< CORBA::ULong >, ACE_Null_Mutex > | REQUEST_DISPATCHER_TABLE | 
| Private Member Functions | |
| void | operator= (const TAO_Muxed_TMS &) | 
| TAO_Muxed_TMS (const TAO_Muxed_TMS &) | |
| int | clear_cache_i (void) | 
| Private Attributes | |
| ACE_Lock * | lock_ | 
| Lock to protect the state of the object.  More... | |
| CORBA::ULong | request_id_generator_ | 
| TAO_ORB_Core *const | orb_core_ | 
| REQUEST_DISPATCHER_TABLE | dispatcher_table_ | 
| Table of <Request ID, Reply Dispatcher> pairs.  More... | |
| Additional Inherited Members | |
|  Protected Attributes inherited from TAO_Transport_Mux_Strategy | |
| TAO_Transport * | transport_ | 
| Cache the transport reference.  More... | |
Using this strategy a single connection can have multiple outstanding requests. @ Can the performance of the demuxer be made more predictable, for example, using the request id as an active demux key?
| TAO_Muxed_TMS::TAO_Muxed_TMS | ( | TAO_Transport * | transport | ) | 
Constructor.
| 
 | virtual | 
Destructor.
| 
 | private | 
| 
 | virtual | 
Bind the dispatcher with the request id.
Implements TAO_Transport_Mux_Strategy.
| 
 | private | 
| 
 | 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.
| 
 | private | 
| 
 | 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.
| 
 | private | 
Table of <Request ID, Reply Dispatcher> pairs.
| 
 | private | 
Lock to protect the state of the object.
| 
 | private | 
Keep track of the orb core pointer. We need to this to create the Reply Dispatchers.
| 
 | private | 
Used to generate a different request_id on each call to request_id().
 1.8.11
 1.8.11