summaryrefslogtreecommitdiff
path: root/TAO/tao/Wait_Strategy.h
diff options
context:
space:
mode:
authorcoryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2000-12-15 20:06:51 +0000
committercoryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2000-12-15 20:06:51 +0000
commitc8554737fb5938dea4ad9f3bda6d97cb56a1a590 (patch)
treedd9680e93d92ed55dcab63954c75283209681cb8 /TAO/tao/Wait_Strategy.h
parent712c844728a07d95b6c736d97d93d3d0ea8b2738 (diff)
downloadATCD-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.h96
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"