diff options
author | coryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2000-12-15 20:06:51 +0000 |
---|---|---|
committer | coryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2000-12-15 20:06:51 +0000 |
commit | c8554737fb5938dea4ad9f3bda6d97cb56a1a590 (patch) | |
tree | dd9680e93d92ed55dcab63954c75283209681cb8 /TAO/tao/Reply_Dispatcher.h | |
parent | 712c844728a07d95b6c736d97d93d3d0ea8b2738 (diff) | |
download | ATCD-c8554737fb5938dea4ad9f3bda6d97cb56a1a590.tar.gz |
ChangeLogTag:Fri Dec 15 11:36:08 2000 Carlos O'Ryan <coryan@uci.edu>
Diffstat (limited to 'TAO/tao/Reply_Dispatcher.h')
-rw-r--r-- | TAO/tao/Reply_Dispatcher.h | 107 |
1 files changed, 57 insertions, 50 deletions
diff --git a/TAO/tao/Reply_Dispatcher.h b/TAO/tao/Reply_Dispatcher.h index d0cb5ccb364..56bb57aeec8 100644 --- a/TAO/tao/Reply_Dispatcher.h +++ b/TAO/tao/Reply_Dispatcher.h @@ -1,19 +1,19 @@ // This may look like C, but it's really -*- C++ -*- -// $Id$ - - -// ============================================================================ -// -// = LIBRARY -// TAO -// -// = DESCRIPTION -// Define the interface for the Reply_Dispatcher strategies. -// -// = AUTHOR -// Alexander Babu Arulanthu <alex@cs.wustl.edu> -// -// ============================================================================ + + +//============================================================================= +/** + * @file Reply_Dispatcher.h + * + * $Id$ + * + * Define the interface for the Reply_Dispatcher strategies. + * + * + * @author Alexander Babu Arulanthu <alex@cs.wustl.edu> + */ +//============================================================================= + #ifndef TAO_REPLY_DISPATCHER_H #define TAO_REPLY_DISPATCHER_H @@ -31,63 +31,70 @@ class TAO_GIOP_Version; class TAO_Transport; class TAO_Pluggable_Reply_Params; +/** + * @class TAO_Reply_Dispatcher + * + * + * Different invocation modes process the Reply messages in + * different ways. Traditional synchronous replies simply receive + * the message and wake up the waiting thread (if any). + * Asynchronous Method Invocation (Callbacks) must process the + * message in the thread that receives it. + * Deferred Synchronous (DII) and AMI in the Poller mode save the + * reply for later processing in the application. + * The lower level components in the ORB only deal with this + * abstract interface, when the invocation is made the right type + * of Reply Dispatcher is instantiated and registered with the + * Transport object. + */ class TAO_Export TAO_Reply_Dispatcher { - // = TITLE - // - // = DESCRIPTION - // Different invocation modes process the Reply messages in - // different ways. Traditional synchronous replies simply receive - // the message and wake up the waiting thread (if any). - // Asynchronous Method Invocation (Callbacks) must process the - // message in the thread that receives it. - // Deferred Synchronous (DII) and AMI in the Poller mode save the - // reply for later processing in the application. - // The lower level components in the ORB only deal with this - // abstract interface, when the invocation is made the right type - // of Reply Dispatcher is instantiated and registered with the - // Transport object. - // public: + /// Constructor. TAO_Reply_Dispatcher (void); - // Constructor. + /// Destructor. virtual ~TAO_Reply_Dispatcher (void); - // Destructor. + /** + * 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. + */ virtual int dispatch_reply (TAO_Pluggable_Reply_Params ¶ms) = 0; - // 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. + /// Get the reply status. CORBA::ULong reply_status (void) const; - // Get the reply status. // @@ Commented for the time being - Bala // virtual TAO_GIOP_Message_State *message_state (void) = 0; // Get the Message State into which the reply has been read. + /** + * The dispatcher has been bound. + * Some dispatchers need to retain state to cooperate with other + * components, such as the waiting strategy. + */ virtual void dispatcher_bound (TAO_Transport*) = 0; - // The dispatcher has been bound. - // Some dispatchers need to retain state to cooperate with other - // components, such as the waiting strategy. + /** + * 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. + */ virtual void connection_closed (void) = 0; - // 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. protected: + /// Reply or LocateReply status. CORBA::ULong reply_status_; - // Reply or LocateReply status. }; #if defined (__ACE_INLINE__) |