summaryrefslogtreecommitdiff
path: root/ACE/tests/Process_Strategy_Test.h
diff options
context:
space:
mode:
authorJohnny Willemsen <jwillemsen@remedy.nl>2011-03-24 13:16:05 +0000
committerJohnny Willemsen <jwillemsen@remedy.nl>2011-03-24 13:16:05 +0000
commitb344c17ae152f6df1d1da81e3b2a68e131a86d49 (patch)
tree5bb72d5f3dfa2bc68544c387f81f06b9d77ac00c /ACE/tests/Process_Strategy_Test.h
parent528887fdce077c419d5ae415c5d9d3a4a47b8727 (diff)
downloadATCD-b344c17ae152f6df1d1da81e3b2a68e131a86d49.tar.gz
Thu Mar 24 13:10:02 UTC 2011 Johnny Willemsen <jwillemsen@remedy.nl>
* tests/ACE_Init_Test.h: * tests/ACE_Init_Test_Resource.h: * tests/ACE_Init_Test_StdAfx.h: * tests/Aio_Platform_Test.cpp: * tests/Atomic_Op_Test.cpp: * tests/Auto_Event_Test.cpp: * tests/Auto_IncDec_Test.cpp: * tests/Barrier_Test.cpp: * tests/Based_Pointer_Test.cpp: * tests/Based_Pointer_Test_Lib.cpp: * tests/Basic_Types_Test.cpp: * tests/Bound_Ptr_Test.h: * tests/Buffer_Stream_Test.cpp: * tests/Bug_2434_Regression_Test.cpp: * tests/Bug_2653_Regression_Test.cpp: * tests/Bug_2659_Regression_Test.cpp: * tests/Bug_3539_Regression_Test.cpp: * tests/Bug_3729_Regression_Test.cpp: * tests/CDR_Array_Test.cpp: * tests/CDR_File_Test.cpp: * tests/CDR_Test.cpp: * tests/Cache_Map_Manager_Test.h: * tests/Cache_Map_Manager_Test.cpp: * tests/Cached_Accept_Conn_Test.h: * tests/Cached_Accept_Conn_Test.cpp: * tests/Cached_Allocator_Test.cpp: * tests/Cached_Conn_Test.h: * tests/Cached_Conn_Test.cpp: * tests/Capabilities_Test.cpp: * tests/Codecs_Test.cpp: * tests/Collection_Test.h: * tests/Collection_Test.cpp: * tests/Config_Test.h: * tests/Config_Test.cpp: * tests/Conn_Test.h: * tests/Conn_Test.cpp: * tests/DLL_Test.cpp: * tests/DLL_Test_Impl.h: * tests/DLL_Test_Impl.cpp: * tests/DLList_Test.cpp: * tests/Dirent_Test.cpp: * tests/Dynamic_Priority_Test.cpp: * tests/Dynamic_Test.cpp: * tests/Enum_Interfaces_Test.cpp: * tests/FIFO_Test.cpp: * tests/FlReactor_Test.cpp: * tests/Framework_Component_DLL.h: * tests/Framework_Component_DLL.cpp: * tests/Framework_Component_Test.h: * tests/Future_Set_Test.cpp: * tests/Future_Test.cpp: * tests/Handle_Set_Test.cpp: * tests/Hash_Map_Bucket_Iterator_Test.cpp: * tests/Hash_Map_Manager_Test.cpp: * tests/Hash_Multi_Map_Manager_Test.cpp: * tests/High_Res_Timer_Test.cpp: * tests/INET_Addr_Test.cpp: * tests/IOStream_Test.cpp: * tests/Intrusive_Auto_Ptr_Test.cpp: * tests/Lazy_Map_Manager_Test.cpp: * tests/Log_Msg_Backend_Test.cpp: * tests/Log_Msg_Test.cpp: * tests/Logging_Strategy_Test.cpp: * tests/MEM_Stream_Test.h: * tests/MEM_Stream_Test.cpp: * tests/MM_Shared_Memory_Test.cpp: * tests/MT_NonBlocking_Connect_Test.cpp: * tests/MT_Reactor_Timer_Test.h: * tests/MT_Reactor_Timer_Test.cpp: * tests/MT_Reactor_Upcall_Test.cpp: * tests/MT_Reference_Counted_Event_Handler_Test.cpp: * tests/MT_Reference_Counted_Notify_Test.cpp: * tests/MT_SOCK_Test.cpp: * tests/Main.cpp: * tests/Malloc_Test.h: * tests/Malloc_Test.cpp: * tests/Manual_Event_Test.cpp: * tests/Map_Manager_Test.cpp: * tests/Map_Test.h: * tests/Map_Test.cpp: * tests/Max_Default_Port_Test.h: * tests/Max_Default_Port_Test.cpp: * tests/Mem_Map_Test.cpp: * tests/Message_Block_Test.cpp: * tests/Message_Queue_Notifications_Test.cpp: * tests/Message_Queue_Test.cpp: * tests/Message_Queue_Test_Ex.cpp: * tests/Missing_Svc_Conf_Test.cpp: * tests/Multihomed_INET_Addr_Test.cpp: * tests/Multihomed_INET_Addr_Test_IPV6.cpp: * tests/NDDS_Timer_Test.cpp: * tests/Naming_Test.cpp: * tests/Network_Adapters_Test.h: * tests/Network_Adapters_Test.cpp: * tests/New_Fail_Test.cpp: * tests/NonBlocking_Conn_Test.h: * tests/NonBlocking_Conn_Test.cpp: * tests/Notify_Performance_Test.cpp: * tests/Object_Manager_Flipping_Test.cpp: * tests/Object_Manager_Test.cpp: * tests/Obstack_Test.cpp: * tests/OrdMultiSet_Test.cpp: * tests/Pipe_Test.cpp: * tests/Priority_Buffer_Test.cpp: * tests/Priority_Reactor_Test.h: * tests/Priority_Reactor_Test.cpp: * tests/Priority_Task_Test.cpp: * tests/Proactor_Test.h: * tests/Proactor_Timer_Test.cpp: * tests/Process_Env_Test.cpp: * tests/Process_Manager_Test.cpp: * tests/Process_Manual_Event_Test.cpp: * tests/Process_Mutex_Test.cpp: * tests/Process_Semaphore_Test.cpp: * tests/Process_Strategy_Test.h: * tests/Process_Strategy_Test.cpp: * tests/Process_Test.cpp: * tests/QtReactor_Test.cpp: * tests/RB_Tree_Test.h: * tests/RB_Tree_Test.cpp: * tests/RW_Process_Mutex_Test.cpp: * tests/Reactor_Dispatch_Order_Test.cpp: * tests/Reactor_Dispatch_Order_Test_Dev_Poll.cpp: * tests/Reactor_Exceptions_Test.cpp: * tests/Reactor_Fairness_Test.h: * tests/Reactor_Fairness_Test.cpp: * tests/Reactor_Notify_Test.cpp: * tests/Reactor_Performance_Test.h: * tests/Reactor_Performance_Test.cpp: * tests/Reactor_Registration_Test.cpp: * tests/Reactor_Timer_Test.cpp: * tests/Reactors_Test.cpp: * tests/Reader_Writer_Test.cpp: * tests/Recursive_Condition_Bug_Test.cpp: * tests/Recursive_Condition_Test.cpp: * tests/Recursive_Mutex_Test.cpp: * tests/Refcounted_Auto_Ptr_Test.h: * tests/Refcounted_Event_Handler_Test_DevPoll.cpp: * tests/Reference_Counted_Event_Handler_Test.cpp: * tests/Reverse_Lock_Test.cpp: * tests/SOCK_Connector_Test.cpp: * tests/SOCK_Dgram_Bcast_Test.cpp: * tests/SOCK_Dgram_Test.cpp: * tests/SOCK_Netlink_Test.cpp: * tests/SOCK_SEQPACK_SCTP_Test.cpp: * tests/SOCK_Send_Recv_Test.cpp: * tests/SOCK_Test.cpp: * tests/SPIPE_Test.cpp: * tests/SSL/Main.cpp: * tests/SSL/SSL_Asynch_Stream_Test.cpp: * tests/SSL/Thread_Pool_Reactor_SSL_Test.h: * tests/SSL/Thread_Pool_Reactor_SSL_Test.cpp: * tests/SString_Test.cpp: * tests/SV_Shared_Memory_Test.cpp: * tests/Semaphore_Test.cpp: * tests/Sig_Handlers_Test.cpp: * tests/Signal_Test.cpp: * tests/Sigset_Ops_Test.cpp: * tests/Simple_Message_Block_Test.cpp: * tests/Singleton_Test.cpp: * tests/Svc_Handler_Test.cpp: * tests/TP_Reactor_Test.h: * tests/TP_Reactor_Test.cpp: * tests/TSS_Static_Test.cpp: * tests/TSS_Test.cpp: * tests/TSS_Test_Errno.h: * tests/Task_Ex_Test.cpp: * tests/Task_Test.cpp: * tests/Thread_Attrs_Test.cpp: * tests/Thread_Creation_Threshold_Test.cpp: * tests/Thread_Manager_Test.cpp: * tests/Thread_Mutex_Test.cpp: * tests/Thread_Pool_Reactor_Resume_Test.h: * tests/Thread_Pool_Reactor_Resume_Test.cpp: * tests/Thread_Pool_Reactor_Test.h: * tests/Thread_Pool_Reactor_Test.cpp: * tests/Thread_Pool_Test.cpp: * tests/Time_Service_Test.cpp: * tests/Time_Value_Test.cpp: * tests/Timeprobe_Test.cpp: * tests/Timer_Cancellation_Test.cpp: * tests/Timer_Queue_Reference_Counting_Test.cpp: * tests/Timer_Queue_Test.cpp: * tests/TkReactor_Test.cpp: * tests/Tokens_Test.cpp: * tests/UPIPE_SAP_Test.cpp: * tests/UUID_Test.cpp: * tests/Unbounded_Set_Test.cpp: * tests/Unload_libACE.cpp: * tests/Upgradable_RW_Test.h: * tests/Upgradable_RW_Test.cpp: * tests/Vector_Test.cpp: * tests/WFMO_Reactor_Test.cpp: * tests/XtAthenaReactor_Test.cpp: * tests/XtMotifReactor_Test.cpp: Converted to doxygen style of documentation
Diffstat (limited to 'ACE/tests/Process_Strategy_Test.h')
-rw-r--r--ACE/tests/Process_Strategy_Test.h93
1 files changed, 49 insertions, 44 deletions
diff --git a/ACE/tests/Process_Strategy_Test.h b/ACE/tests/Process_Strategy_Test.h
index 9278e37404a..52365621ea0 100644
--- a/ACE/tests/Process_Strategy_Test.h
+++ b/ACE/tests/Process_Strategy_Test.h
@@ -1,20 +1,20 @@
/* -*- C++ -*- */
-// $Id$
-
-// ============================================================================
-// = FILENAME
-// Process_Strategy_Test.h
-//
-// = DESCRIPTION
-// This file contains the definition of Counting_Service and
-// Options. Some compilers need it in a .h file for template
-// instantiation (such as AIX C Set ++).
-//
-// = AUTHOR
-// Doug Schmidt <schmidt@cs.wustl.edu> and
-// Kevin Boyle <kboyle@sanwafp.com>
-//
-// ============================================================================
+
+//=============================================================================
+/**
+ * @file Process_Strategy_Test.h
+ *
+ * $Id$
+ *
+ * This file contains the definition of Counting_Service and
+ * Options. Some compilers need it in a .h file for template
+ * instantiation (such as AIX C Set ++).
+ *
+ *
+ * @author Doug Schmidt <schmidt@cs.wustl.edu> and Kevin Boyle <kboyle@sanwafp.com>
+ */
+//=============================================================================
+
#ifndef ACE_TESTS_PROCESS_STRATEGY_TEST_H
#define ACE_TESTS_PROCESS_STRATEGY_TEST_H
@@ -30,44 +30,46 @@
#include "ace/Svc_Handler.h"
#include "ace/Strategies_T.h"
+/**
+ * @class Counting_Service
+ *
+ * @brief Reads and increments the count in a shared file.
+ *
+ * Objects of this class execute in a separate process as a
+ * result of the <ACE_Strategy_Acceptor> and
+ * <ACE_Process_Strategy>.
+ */
class Counting_Service : public ACE_Svc_Handler <ACE_SOCK_STREAM, ACE_NULL_SYNCH>
- // = TITLE
- // Reads and increments the count in a shared file.
- //
- // = DESCRIPTION
- // Objects of this class execute in a separate process as a
- // result of the <ACE_Strategy_Acceptor> and
- // <ACE_Process_Strategy>.
{
public:
+ /// Constructor.
Counting_Service (ACE_Thread_Manager * = 0);
- // Constructor.
+ /// Hook that is used to initialize the service (called by the
+ /// <ACE_Strategy_Acceptor::handle_input> Template Method).
virtual int open (void *v);
- // Hook that is used to initialize the service (called by the
- // <ACE_Strategy_Acceptor::handle_input> Template Method).
protected:
// = Methods invoked via "pointer to method" table entry.
+ /// Handle the THREAD case.
virtual int svc (void);
- // Handle the THREAD case.
// = Operations corresponding to requests from the client.
+ /// Execute the read operation on the file.
int read (void);
- // Execute the read operation on the file.
+ /// Execute the increment operation on the file.
int inc (void);
- // Execute the increment operation on the file.
// = Hooks called by <Reactor> and <Strategy_Acceptor>.
+ /// Hook called by the <Reactor> when data arrives from the client.
virtual int handle_input (ACE_HANDLE p = ACE_INVALID_HANDLE);
- // Hook called by the <Reactor> when data arrives from the client.
+ /// Closing down
virtual int handle_close (ACE_HANDLE = ACE_INVALID_HANDLE,
ACE_Reactor_Mask = ACE_Event_Handler::ALL_EVENTS_MASK);
- // Closing down
};
class Process_Strategy : public ACE_Process_Strategy<Counting_Service>
@@ -89,19 +91,22 @@ public:
void *arg = 0);
};
+/**
+ * @class Options
+ *
+ * @brief Maintains the options for this program.
+ */
class Options : public ACE_Event_Handler
- // = TITLE
- // Maintains the options for this program.
{
public:
+ /// Constructor.
Options (void);
- // Constructor.
+ /// Destructor.
~Options (void);
- // Destructor.
+ /// Read command-line arguments and initialize options.
int parse_args (int argc, ACE_TCHAR *argv[]);
- // Read command-line arguments and initialize options.
enum Concurrency_Type
{
@@ -114,28 +119,28 @@ public:
Concurrency_Type concurrency_type (void);
void concurrency_type (Concurrency_Type);
+ /// Returns the file lock.
ACE_File_Lock &file_lock (void);
- // Returns the file lock.
+ /// Returns the filename that we're using as the lock.
const ACE_TCHAR *filename (void);
- // Returns the filename that we're using as the lock.
+ /// Returns the concurrency strategy.
ACE_Concurrency_Strategy <Counting_Service> *concurrency_strategy (void);
- // Returns the concurrency strategy.
private:
+ /// Concurrency strategy that we're running.
Concurrency_Type concurrency_type_;
- // Concurrency strategy that we're running.
+ /// Lock for the counting file.
ACE_File_Lock file_lock_;
- // Lock for the counting file.
+ /// Activation strategy that either forks a new process or spawns a
+ /// new thread for each client connection.
ACE_Concurrency_Strategy<Counting_Service> *concurrency_strategy_;
- // Activation strategy that either forks a new process or spawns a
- // new thread for each client connection.
+ /// Name of the counting file.
ACE_TCHAR filename_[MAXPATHLEN + 1];
- // Name of the counting file.
};
#endif /* ACE_TESTS_PROCESS_STRATEGY_TEST_H */