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

[legend]
Collaboration diagram for TAO_Transport_Mux_Strategy:

[legend]
List of all members.

## Public Methods
| 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
| Generate and return an unique request id for the current invocation.
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.
virtual void | 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.
virtual int | idle_after_send (void) = 0
| Request has been just sent, but the reply is not received. Idle the transport now.
virtual int | idle_after_reply (void) = 0
| Request is sent and the reply is received. Idle the transport now.
virtual void | connection_closed (void) = 0
| The transport object has closed the connection, inform all Reply dispatchers and waiting strategies.
## Protected Attributes
TAO_Transport* | transport_
| Cache the transport reference.

## 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

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. Reimplemented in TAO_Exclusive_TMS, and TAO_Muxed_TMS.

void TAO_Transport_Mux_Strategy::connection_closed ( | void )`[pure virtual]`

| The transport object has closed the connection, inform all Reply dispatchers and waiting strategies. Reimplemented in TAO_Exclusive_TMS, and TAO_Muxed_TMS.

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. Reimplemented in TAO_Exclusive_TMS, and TAO_Muxed_TMS.

int TAO_Transport_Mux_Strategy::idle_after_reply ( | void )`[pure virtual]`

| Request is sent and the reply is received. Idle the transport now. Reimplemented in TAO_Exclusive_TMS, and TAO_Muxed_TMS.

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. Reimplemented in TAO_Exclusive_TMS, and TAO_Muxed_TMS.

CORBA::ULong TAO_Transport_Mux_Strategy::request_id ( | void )`[pure virtual]`

| Generate and return an unique request id for the current invocation. Reimplemented in TAO_Exclusive_TMS, and TAO_Muxed_TMS.

void 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. Reimplemented in TAO_Exclusive_TMS, and TAO_Muxed_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:

- Transport_Mux_Strategy.h
- Transport_Mux_Strategy.cpp