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

TAO_Asynch_Reply_Dispatcher Class Reference

Reply dispatcher for Asynchoronous Method Invocation (AMI)s. More...

#include <Asynch_Reply_Dispatcher.h>

Inheritance diagram for TAO_Asynch_Reply_Dispatcher

Inheritance graph
[legend]
Collaboration diagram for TAO_Asynch_Reply_Dispatcher:

Collaboration graph
[legend]
List of all members.

Public Methods

 TAO_Asynch_Reply_Dispatcher ( const TAO_Reply_Handler_Skeleton &reply_handler_skel, Messaging::ReplyHandler_ptr reply_handler_ptr, TAO_ORB_Core *orb_core )
 Constructor.

virtual ~TAO_Asynch_Reply_Dispatcher (void)
 Destructor.

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.

long schedule_timer (CORBA::ULong request_id, const ACE_Time_Value &max_wait_time)
 Install the timeout handler.


Private Attributes

const TAO_Reply_Handler_Skeleton reply_handler_skel_
 Skeleton for the call back method in the Reply Handler.

Messaging::ReplyHandler_var reply_handler_
 Reply Handler passed in the Asynchronous Invocation.

TAO_Asynch_Timeout_Handler timeout_handler_
 Timeout Handler in case of AMI timeouts.


Detailed Description

Reply dispatcher for Asynchoronous Method Invocation (AMI)s.


Constructor & Destructor Documentation

TAO_Asynch_Reply_Dispatcher::TAO_Asynch_Reply_Dispatcher ( const TAO_Reply_Handler_Skeleton & reply_handler_skel,
Messaging::ReplyHandler_ptr reply_handler_ptr,
TAO_ORB_Core * orb_core )
 

Constructor.

TAO_Asynch_Reply_Dispatcher::~TAO_Asynch_Reply_Dispatcher ( void ) [virtual]
 

Destructor.


Member Function Documentation

void TAO_Asynch_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.

Reimplemented from TAO_Asynch_Reply_Dispatcher_Base.

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

Reimplemented from TAO_Asynch_Reply_Dispatcher_Base.

void TAO_Asynch_Reply_Dispatcher::reply_timed_out ( void ) [virtual]
 

Inform that the reply timed out.

Reimplemented from TAO_Asynch_Reply_Dispatcher_Base.

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

Install the timeout handler.

Reimplemented from TAO_Asynch_Reply_Dispatcher_Base.


Member Data Documentation

Messaging::ReplyHandler_var TAO_Asynch_Reply_Dispatcher::reply_handler_ [private]
 

Reply Handler passed in the Asynchronous Invocation.

const TAO_Reply_Handler_Skeleton TAO_Asynch_Reply_Dispatcher::reply_handler_skel_ [private]
 

Skeleton for the call back method in the Reply Handler.

TAO_Asynch_Timeout_Handler TAO_Asynch_Reply_Dispatcher::timeout_handler_ [private]
 

Timeout Handler in case of AMI timeouts.


The documentation for this class was generated from the following files:
Generated at Fri Oct 5 08:01:25 2001 for TAO by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000