TAO  2.0.8
Public Member Functions | Protected Attributes | Private Attributes
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)
virtual void reply_timed_out (void)
 Inform that the reply timed out.

Protected Attributes

IOP::ServiceContextListreply_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_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.

void TAO_Synch_Reply_Dispatcher::reply_timed_out ( void  ) [virtual]

Inform that the reply timed out.

Implements TAO_Reply_Dispatcher.


Member Data Documentation

The buffer that is used to initialise the data block.

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

Cache the ORB Core pointer.

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

The service context list.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines