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/Wait_Strategy.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/Wait_Strategy.h')
-rw-r--r-- | TAO/tao/Wait_Strategy.h | 96 |
1 files changed, 52 insertions, 44 deletions
diff --git a/TAO/tao/Wait_Strategy.h b/TAO/tao/Wait_Strategy.h index 4827d0b8893..ef52ee4f5e5 100644 --- a/TAO/tao/Wait_Strategy.h +++ b/TAO/tao/Wait_Strategy.h @@ -1,15 +1,15 @@ // This may look like C, but it's really -*- C++ -*- -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// TAO -// -// = AUTHOR -// Alexander Babu Arulanthu <alex@cs.wustl.edu> -// -// ============================================================================ + +//============================================================================= +/** + * @file Wait_Strategy.h + * + * $Id$ + * + * @author Alexander Babu Arulanthu <alex@cs.wustl.edu> + */ +//============================================================================= + #ifndef TAO_WAIT_STRATEGY_H #define TAO_WAIT_STRATEGY_H @@ -24,65 +24,73 @@ class TAO_ORB_Core; class TAO_Transport; +/** + * @class TAO_Wait_Strategy + * + * @brief Strategy for waiting for the reply. + * + */ class TAO_Export TAO_Wait_Strategy { - // = TITLE - // - // Strategy for waiting for the reply. - // - // = DESCRIPTION - // public: + /// Constructor. TAO_Wait_Strategy (TAO_Transport *transport); - // Constructor. + /// Destructor. virtual ~TAO_Wait_Strategy (void); - // Destructor. + /** + * The user is going to send a request, prepare any internal + * variables because the reply may arrive *before* the user calls + * wait. + */ virtual int sending_request (TAO_ORB_Core *orb_core, int two_way); - // The user is going to send a request, prepare any internal - // variables because the reply may arrive *before* the user calls - // wait. + /// Base class virtual method. Wait till the <reply_received> flag is + /// true or the time expires. virtual int wait (ACE_Time_Value *max_wait_time, int &reply_received) = 0; - // Base class virtual method. Wait till the <reply_received> flag is - // true or the time expires. + /// Register the handler needs with the reactor provided that it makes + /// sense for the strategy. virtual int register_handler (void) = 0; - // Register the handler needs with the reactor provided that it makes - // sense for the strategy. + /** + * Return the TSS leader follower condition variable used in the + * Wait Strategy. Muxed Leader Follower implementation returns a + * valid condition variable, others return 0. + * The condition variable is acquired by the Reply_Dispatcher (when + * needed) in the thread that binds it to the right Transport. + * Later (when the reply is finally received) the Reply_Dispatcher + * passes this condition variable back to Waiting_Strategy, that can + * then signal the waiting thread if needed. + */ virtual ACE_SYNCH_CONDITION *leader_follower_condition_variable (void); - // Return the TSS leader follower condition variable used in the - // Wait Strategy. Muxed Leader Follower implementation returns a - // valid condition variable, others return 0. - // The condition variable is acquired by the Reply_Dispatcher (when - // needed) in the thread that binds it to the right Transport. - // Later (when the reply is finally received) the Reply_Dispatcher - // passes this condition variable back to Waiting_Strategy, that can - // then signal the waiting thread if needed. + /** + * This is the callback used by the Reply_Dispatcher to inform the + * Waiting_Strategy that a reply has been completely received, that + * it was already stored in the right place, and that the condition + * variable should be signalled if needed. + * The Waiting_Strategy must set the reply received flag, using + * whatever locks it needs. + */ virtual int reply_dispatched (int &reply_received_flag, ACE_SYNCH_CONDITION *); - // This is the callback used by the Reply_Dispatcher to inform the - // Waiting_Strategy that a reply has been completely received, that - // it was already stored in the right place, and that the condition - // variable should be signalled if needed. - // The Waiting_Strategy must set the reply received flag, using - // whatever locks it needs. + /** + * The connection has been closed by the lower level components in + * the ORB. + * The wait has finished and must result in an error. + */ virtual void connection_closed (int &reply_received_flag, ACE_SYNCH_CONDITION*); - // The connection has been closed by the lower level components in - // the ORB. - // The wait has finished and must result in an error. protected: + /// Transport object. TAO_Transport *transport_; - // Transport object. }; #include "ace/post.h" |