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

# TAO_Asynch_Reply_Dispatcher_Base Class Reference

Base class for TAO_Asynch_Reply_Dispatcher and TAO_DII_Deferred_Reply_Dispatcher. More...

`#include <Asynch_Reply_Dispatcher.h>`

Inheritance diagram for TAO_Asynch_Reply_Dispatcher_Base

[legend]
Collaboration diagram for TAO_Asynch_Reply_Dispatcher_Base:

[legend]
List of all members.

## Public Methods
| TAO_Asynch_Reply_Dispatcher_Base (TAO_ORB_Core *orb_core)
| Default constructor.
virtual | ~TAO_Asynch_Reply_Dispatcher_Base (void)
| Destructor.
void | transport (TAO_Transport *t)
| Sets the transport for this invocation.
virtual int | dispatch_reply (TAO_Pluggable_Reply_Params &params)
virtual void | connection_closed (void)
virtual void | reply_timed_out (void)
| Inform that the reply timed out.
virtual long | schedule_timer (CORBA::ULong request_id, const ACE_Time_Value &max_wait_time)
| Install the timeout handler.
## Protected Attributes
IOP::ServiceContextList | reply_service_info_
| The service context list. More...
char | buf_ [ACE_CDR::DEFAULT_BUFSIZE]
| The buffer that is used to initialise the data block.
ACE_Data_Block | db_
| datablock that is created on teh stack to initialise the CDR stream underneath.
TAO_InputCDR | reply_cdr_
| CDR stream which has the reply information that needs to be demarshalled by the stubs.
TAO_Transport* | transport_
| This invocation is using this transport, may change...

## Detailed Description

Base class for TAO_Asynch_Reply_Dispatcher and TAO_DII_Deferred_Reply_Dispatcher.

## Constructor & Destructor Documentation

TAO_Asynch_Reply_Dispatcher_Base::TAO_Asynch_Reply_Dispatcher_Base ( | TAO_ORB_Core * orb_core )`[inline]`

| Default constructor.

TAO_Asynch_Reply_Dispatcher_Base::~TAO_Asynch_Reply_Dispatcher_Base ( | void )`[virtual]`

| Destructor.

## Member Function Documentation

void TAO_Asynch_Reply_Dispatcher_Base::connection_closed ( | void )`[virtual]`

| The used for the pending reply has been closed. No reply is expected. @ TODO: If the connection was closed due to a CloseConnection message then we could re-issue the request instead of raising the exception, it would a matter of simply adding a boolean argument to this function. Reimplemented from TAO_Reply_Dispatcher. Reimplemented in TAO_Asynch_Reply_Dispatcher.

int TAO_Asynch_Reply_Dispatcher_Base::dispatch_reply ( | TAO_Pluggable_Reply_Params & params )`[virtual]`

| Dispatch the reply. Return 1 on sucess, -1 on error. @ TODO Pluggable Messaging: this method has too many arguments, the "Right Thing"[tm] is for the Transport Object to create a "ClientReply" that encapsulates all we need to process a reply. Naturally it is possible that different messaging protocols implement different variants of such ClientReply class. Reimplemented from TAO_Reply_Dispatcher. Reimplemented in TAO_Asynch_Reply_Dispatcher.

void TAO_Asynch_Reply_Dispatcher_Base::reply_timed_out ( | void )`[virtual]`

| Inform that the reply timed out. Reimplemented in TAO_Asynch_Reply_Dispatcher.

long TAO_Asynch_Reply_Dispatcher_Base::schedule_timer ( | CORBA::ULong request_id,
| const ACE_Time_Value & max_wait_time )`[virtual]`

| Install the timeout handler. Reimplemented in TAO_Asynch_Reply_Dispatcher.

ACE_INLINE void TAO_Asynch_Reply_Dispatcher_Base::transport ( | TAO_Transport * t )

| Sets the transport for this invocation.

## Member Data Documentation

char TAO_Asynch_Reply_Dispatcher_Base::buf_[ACE_CDR::DEFAULT_BUFSIZE]`[protected]`

| The buffer that is used to initialise the data block.

ACE_Data_Block TAO_Asynch_Reply_Dispatcher_Base::db_`[protected]`

| datablock that is created on teh stack to initialise the CDR stream underneath.

TAO_InputCDR TAO_Asynch_Reply_Dispatcher_Base::reply_cdr_`[protected]`

| CDR stream which has the reply information that needs to be demarshalled by the stubs.

IOP::ServiceContextList TAO_Asynch_Reply_Dispatcher_Base::reply_service_info_`[protected]`

| The service context list. Note, that this is not a reference as in the synchronous case. We own the reply_service_info because our TAO_Asynch_Invocation or TAO_DII_Deferred_Invocation will go out of scope before we are done.

TAO_Transport * TAO_Asynch_Reply_Dispatcher_Base::transport_`[protected]`

| This invocation is using this transport, may change...

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

- Asynch_Reply_Dispatcher.h
- Asynch_Reply_Dispatcher.cpp
- Asynch_Reply_Dispatcher.i