TAO_Synch_Reply_Dispatcher Class Reference

Reply dispatcher for Synchronous Method Invocation (SMI)s. More...

#include <Synch_Reply_Dispatcher.h>

Inheritance diagram for TAO_Synch_Reply_Dispatcher:

Inheritance graph
[legend]
Collaboration diagram for TAO_Synch_Reply_Dispatcher:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 TAO_Synch_Reply_Dispatcher (TAO_ORB_Core *orb_core, IOP::ServiceContextList &sc)
 Constructor.
virtual ~TAO_Synch_Reply_Dispatcher (void)
 Destructor.
TAO_InputCDRreply_cdr (void)
 Return the reply CDR.
virtual int dispatch_reply (TAO_Pluggable_Reply_Params &params)
virtual void connection_closed (void)

Protected Attributes

IOP::ServiceContextList & reply_service_info_
 The service context list.

Private Attributes

TAO_ORB_Coreorb_core_
 Cache the ORB Core pointer.
char buf_ [ACE_CDR::DEFAULT_BUFSIZE]
 The buffer that is used to initialise the data block.
ACE_Data_Block db_
TAO_InputCDR reply_cdr_

Detailed Description

Reply dispatcher for Synchronous Method Invocation (SMI)s.


Constructor & Destructor Documentation

TAO_BEGIN_VERSIONED_NAMESPACE_DECL TAO_Synch_Reply_Dispatcher::TAO_Synch_Reply_Dispatcher ( TAO_ORB_Core orb_core,
IOP::ServiceContextList &  sc 
)

Constructor.

TAO_Synch_Reply_Dispatcher::~TAO_Synch_Reply_Dispatcher ( void   )  [virtual]

Destructor.


Member Function Documentation

void TAO_Synch_Reply_Dispatcher::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.

Implements TAO_Reply_Dispatcher.

int TAO_Synch_Reply_Dispatcher::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.

Implements TAO_Reply_Dispatcher.

TAO_InputCDR & TAO_Synch_Reply_Dispatcher::reply_cdr ( void   ) 

Return the reply CDR.


Member Data Documentation

char TAO_Synch_Reply_Dispatcher::buf_[ACE_CDR::DEFAULT_BUFSIZE] [private]

The buffer that is used to initialise the data block.

ACE_Data_Block TAO_Synch_Reply_Dispatcher::db_ [private]

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

TAO_ORB_Core* TAO_Synch_Reply_Dispatcher::orb_core_ [private]

Cache the ORB Core pointer.

TAO_InputCDR TAO_Synch_Reply_Dispatcher::reply_cdr_ [private]

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

IOP::ServiceContextList& TAO_Synch_Reply_Dispatcher::reply_service_info_ [protected]

The service context list.


The documentation for this class was generated from the following files:
Generated on Tue Nov 21 09:38:44 2006 for TAO by  doxygen 1.4.7-1