Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

TAO_Transport_Mux_Strategy Class Reference

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]
List of all members.

Public Methods

 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
 Generate and return an unique request id for the current invocation. More...

virtual int bind_dispatcher (CORBA::ULong request_id, TAO_Reply_Dispatcher *rd)=0
 Bind the dispatcher with the request id. Commonalities in the derived class implementations is kept here. More...

virtual int unbind_dispatcher (CORBA::ULong request_id)=0
virtual int dispatch_reply (TAO_Pluggable_Reply_Params &params)=0
 Dispatch the reply for <request_id>, cleanup any resources allocated for that request. More...

virtual int idle_after_send (void)=0
 Request has been just sent, but the reply is not received. Idle the transport now. More...

virtual int idle_after_reply (void)=0
 Request is sent and the reply is received. Idle the transport now. More...

virtual void connection_closed (void)=0
 The transport object has closed the connection, inform all Reply dispatchers and waiting strategies. 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.

Definition at line 36 of file Transport_Mux_Strategy.h.


Constructor & Destructor Documentation

TAO_Transport_Mux_Strategy::TAO_Transport_Mux_Strategy TAO_Transport   transport
 

Base class constructor.

Definition at line 9 of file Transport_Mux_Strategy.cpp.

00010   : transport_ (transport)
00011 {
00012 }

TAO_Transport_Mux_Strategy::~TAO_Transport_Mux_Strategy void    [virtual]
 

Base class destructor.

Definition at line 14 of file Transport_Mux_Strategy.cpp.

00015 {
00016 }


Member Function Documentation

virtual int TAO_Transport_Mux_Strategy::bind_dispatcher CORBA::ULong    request_id,
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.

Referenced by TAO_Bind_Dispatcher_Guard::TAO_Bind_Dispatcher_Guard.

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.

Referenced by TAO_Transport::send_connection_closed_notifications_i.

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.

Referenced by TAO_Transport::process_parsed_messages.

virtual int TAO_Transport_Mux_Strategy::idle_after_reply void    [pure virtual]
 

Request is sent and the reply is received. Idle the transport now.

Implemented in TAO_Exclusive_TMS.

Referenced by TAO_Transport::idle_after_reply.

virtual int 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.

Implemented in TAO_Exclusive_TMS.

Referenced by TAO_Transport::idle_after_send.

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.

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.

Referenced by TAO_Bind_Dispatcher_Guard::unbind_dispatcher, and TAO_Bind_Dispatcher_Guard::~TAO_Bind_Dispatcher_Guard.


Member Data Documentation

TAO_Transport* TAO_Transport_Mux_Strategy::transport_ [protected]
 

Cache the transport reference.

Definition at line 85 of file Transport_Mux_Strategy.h.

Referenced by TAO_Exclusive_TMS::idle_after_reply, TAO_Muxed_TMS::idle_after_send, TAO_Muxed_TMS::request_id, and TAO_Exclusive_TMS::request_id.


The documentation for this class was generated from the following files:
Generated on Mon Jun 16 15:44:29 2003 for TAO by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002