TAO  2.3.3
Public Member Functions | Protected Attributes | List of all members
TAO_Transport_Mux_Strategy Class Referenceabstract

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>

Inheritance diagram for TAO_Transport_Mux_Strategy:
Inheritance graph
[legend]
Collaboration diagram for TAO_Transport_Mux_Strategy:
Collaboration graph
[legend]

Public Member Functions

 TAO_Transport_Mux_Strategy (TAO_Transport *transport)
 Base class constructor. More...
 
virtual ~TAO_Transport_Mux_Strategy (void)
 Base class destructor. More...
 
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 &params)=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. More...
 

Protected Attributes

TAO_Transporttransport_
 Cache the transport reference. More...
 

Detailed Description

Strategy to determine whether the connection should be multiplexed for multiple requests or it is exclusive for a single request at a time.

Constructor & Destructor Documentation

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.

Member Function Documentation

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_Muxed_TMS, and TAO_Exclusive_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_Muxed_TMS, and TAO_Exclusive_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_Muxed_TMS, and TAO_Exclusive_TMS.

virtual bool TAO_Transport_Mux_Strategy::has_request ( void  )
pure virtual

Do we have a request pending.

Implemented in TAO_Muxed_TMS, and TAO_Exclusive_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_Muxed_TMS, and TAO_Exclusive_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_Muxed_TMS, and TAO_Exclusive_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_Muxed_TMS, and TAO_Exclusive_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_Muxed_TMS, and TAO_Exclusive_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 timed out. The strategy can (must) cleanup any resources associated with the request. A later reply for that request should be ignored.

Implemented in TAO_Muxed_TMS, and TAO_Exclusive_TMS.

Member Data Documentation

TAO_Transport* TAO_Transport_Mux_Strategy::transport_
protected

Cache the transport reference.


The documentation for this class was generated from the following files: