diff options
author | schmidt <douglascraigschmidt@users.noreply.github.com> | 1997-10-20 07:03:55 +0000 |
---|---|---|
committer | schmidt <douglascraigschmidt@users.noreply.github.com> | 1997-10-20 07:03:55 +0000 |
commit | 7cf3dc27bad9ee61cfd0b8033131ec79ad61b8bf (patch) | |
tree | ae44fd5d1b0866deb43c6fea923ab7695573d714 /examples/Timer_Queue | |
parent | bda1cbc47e2955016a3b3437a5d5418fb40d3f6d (diff) | |
download | ATCD-7cf3dc27bad9ee61cfd0b8033131ec79ad61b8bf.tar.gz |
*** empty log message ***
Diffstat (limited to 'examples/Timer_Queue')
-rw-r--r-- | examples/Timer_Queue/Async_Timer_Queue_Test.cpp | 18 | ||||
-rw-r--r-- | examples/Timer_Queue/Async_Timer_Queue_Test.h | 21 | ||||
-rw-r--r-- | examples/Timer_Queue/Driver.cpp | 30 | ||||
-rw-r--r-- | examples/Timer_Queue/Driver.h | 66 | ||||
-rw-r--r-- | examples/Timer_Queue/Makefile | 76 | ||||
-rw-r--r-- | examples/Timer_Queue/Reactor_Timer_Queue_Test.cpp | 14 | ||||
-rw-r--r-- | examples/Timer_Queue/Reactor_Timer_Queue_Test.h | 46 | ||||
-rw-r--r-- | examples/Timer_Queue/Thread_Timer_Queue_Test.cpp | 13 | ||||
-rw-r--r-- | examples/Timer_Queue/Thread_Timer_Queue_Test.h | 31 | ||||
-rw-r--r-- | examples/Timer_Queue/main_async.cpp | 4 | ||||
-rw-r--r-- | examples/Timer_Queue/main_reactor.cpp | 4 | ||||
-rw-r--r-- | examples/Timer_Queue/main_thread.cpp | 4 |
12 files changed, 211 insertions, 116 deletions
diff --git a/examples/Timer_Queue/Async_Timer_Queue_Test.cpp b/examples/Timer_Queue/Async_Timer_Queue_Test.cpp index 2367316da24..1a325f05c03 100644 --- a/examples/Timer_Queue/Async_Timer_Queue_Test.cpp +++ b/examples/Timer_Queue/Async_Timer_Queue_Test.cpp @@ -247,25 +247,27 @@ Async_Timer_Queue_Test_Driver::display_menu (void) int Async_Timer_Queue_Test_Driver::init (void) { + typedef Command<Async_Timer_Queue, Async_Timer_Queue::ACTION> COMMAND; + // initialize <Command> objects with their corresponding <Input_Task> methods. ACE_NEW_RETURN (schedule_cmd_, - Command<Async_Timer_Queue> (*Async_Timer_Queue::instance (), - Async_Timer_Queue::instance ()->schedule_timer), + COMMAND (*Async_Timer_Queue::instance (), + &Async_Timer_Queue::schedule_timer), -1); ACE_NEW_RETURN (cancel_cmd_, - Command<Async_Timer_Queue> (*Async_Timer_Queue::instance (), - Async_Timer_Queue::instance ()->cancel_timer), + COMMAND (*Async_Timer_Queue::instance (), + &Async_Timer_Queue::cancel_timer), -1); ACE_NEW_RETURN (list_cmd_, - Command<Async_Timer_Queue> (*Async_Timer_Queue::instance (), - Async_Timer_Queue::instance ()->list_timer), + COMMAND (*Async_Timer_Queue::instance (), + &Async_Timer_Queue::list_timer), -1); ACE_NEW_RETURN (shutdown_cmd_, - Command<Async_Timer_Queue> (*Async_Timer_Queue::instance (), - Async_Timer_Queue::instance ()->shutdown_timer), + COMMAND (*Async_Timer_Queue::instance (), + &Async_Timer_Queue::shutdown_timer), -1); register_signal_handlers (); diff --git a/examples/Timer_Queue/Async_Timer_Queue_Test.h b/examples/Timer_Queue/Async_Timer_Queue_Test.h index 1705d8d3bf5..95dd6def6c9 100644 --- a/examples/Timer_Queue/Async_Timer_Queue_Test.h +++ b/examples/Timer_Queue/Async_Timer_Queue_Test.h @@ -48,6 +48,8 @@ class Async_Timer_Queue // place. { public: + typedef int (Async_Timer_Queue::*ACTION) (void *); + static Async_Timer_Queue *instance (void); // Singleton access point. @@ -83,15 +85,16 @@ private: // The adapter is instantiated by an <ACE_Timer_Heap>. }; -class Async_Timer_Queue_Test_Driver : public Timer_Queue_Test_Driver <Async_Timer_Queue *, Async_Timer_Queue> -// = TITLE -// Async_Timer_Queue_Test_Driver -// -// = DESCRIPTION -// This class implements a test driver for the <Async_Timer_Queue>. Implements -// a display_menu() method that prints the options for a user. and init() which -// initializes the driver. The rest of the common functionality is in the parent -// class <Timer_Queue_Test_Driver>. +class Async_Timer_Queue_Test_Driver : public Timer_Queue_Test_Driver <Async_Timer_Queue *, Async_Timer_Queue, Async_Timer_Queue::ACTION> + // = TITLE + // Async_Timer_Queue_Test_Driver + // + // = DESCRIPTION + // This class implements a test driver for the + // <Async_Timer_Queue>. Implements a display_menu() method that + // prints the options for a user. and init() which initializes + // the driver. The rest of the common functionality is in the + // parent class <Timer_Queue_Test_Driver>. { public: Async_Timer_Queue_Test_Driver (void); diff --git a/examples/Timer_Queue/Driver.cpp b/examples/Timer_Queue/Driver.cpp index b6d719c7bf4..621424d3b3f 100644 --- a/examples/Timer_Queue/Driver.cpp +++ b/examples/Timer_Queue/Driver.cpp @@ -20,17 +20,17 @@ // constructor -template <class Receiver> -Command<Receiver>::Command (Receiver &recvr, - Action action) - : receiver_(recvr), - action_(action) +template <class RECEIVER, class ACTION> +Command<RECEIVER, ACTION>::Command (RECEIVER &recvr, + ACTION action) + : receiver_ (recvr), + action_ (action) {} // invokes an operation. -template <class Receiver> int -Command<Receiver>::execute (void *arg) +template <class RECEIVER, class ACTION> int +Command<RECEIVER, ACTION>::execute (void *arg) { return (receiver_.*action_) (arg); } @@ -38,8 +38,8 @@ Command<Receiver>::execute (void *arg) // gets the next request from the user input. -template <class TQ, class Receiver> int -Timer_Queue_Test_Driver<TQ, Receiver>::get_next_request (void) +template <class TQ, class RECEIVER, class ACTION> int +Timer_Queue_Test_Driver<TQ, RECEIVER, ACTION>::get_next_request (void) { char buf[BUFSIZ]; @@ -58,8 +58,8 @@ Timer_Queue_Test_Driver<TQ, Receiver>::get_next_request (void) // Runs the test. -template <class TQ, class Receiver> int -Timer_Queue_Test_Driver<TQ, Receiver>::run_test (void) +template <class TQ, class RECEIVER, class ACTION> int +Timer_Queue_Test_Driver<TQ, RECEIVER, ACTION>::run_test (void) { this->init (); @@ -72,8 +72,8 @@ Timer_Queue_Test_Driver<TQ, Receiver>::run_test (void) // Reads input from the user from ACE_STDIN into the buffer specified. -template <class TQ, class Receiver> ssize_t -Timer_Queue_Test_Driver<TQ, Receiver>::read_input (char *buf, size_t bufsiz) +template <class TQ, class RECEIVER, class ACTION> ssize_t +Timer_Queue_Test_Driver<TQ, RECEIVER, ACTION>::read_input (char *buf, size_t bufsiz) { ACE_OS::memset (buf, 0, bufsiz); @@ -84,8 +84,8 @@ Timer_Queue_Test_Driver<TQ, Receiver>::read_input (char *buf, size_t bufsiz) // Parse the input and executes the corresponding operation -template <class TQ, class Receiver> int -Timer_Queue_Test_Driver<TQ, Receiver>::parse_commands (const char *buf) +template <class TQ, class RECEIVER, class ACTION> int +Timer_Queue_Test_Driver<TQ, RECEIVER, ACTION>::parse_commands (const char *buf) { int option; diff --git a/examples/Timer_Queue/Driver.h b/examples/Timer_Queue/Driver.h index b6e9d25a196..f59a42cf406 100644 --- a/examples/Timer_Queue/Driver.h +++ b/examples/Timer_Queue/Driver.h @@ -39,47 +39,50 @@ typedef ACE_Timer_Heap_Iterator_T<ACE_Event_Handler *, typedef ACE_Thread_Timer_Queue_Adapter<Timer_Heap> Thread_Timer_Queue; -template <class Receiver> +template <class RECEIVER, class ACTION> class Command -// = TITLE -// Command -// -// = DESCRIPTION -// This class declares an interface to execute operations, binding a Receiver -// object with an Action. The Receiver knows how to implement the operation. -// A class can invoke operations without knowing anything about it, or how it -// was implemented.ue_Test_Driver>. + // = TITLE + // @@ Please add a more descriptive title here... + // Command + // + // = DESCRIPTION + // This class declares an interface to execute operations, + // binding a RECEIVER object with an ACTION. The RECEIVER knows + // how to implement the operation. A class can invoke operations + // without knowing anything about it, or how it was implemented. { public: - typedef int (Receiver::*Action) (void *); - - Command (Receiver &recvr, Action action); + Command (RECEIVER &recvr, ACTION action); + // @@ Please add a comment. virtual int execute (void *arg); + // @@ Please add a comment. private: - Receiver &receiver_; + RECEIVER &receiver_; // object where the method resides. - Action action_; + ACTION action_; // method that is going to be invoked. }; -template <class TQ, class Receiver> +template <class TQ, class RECEIVER, class ACTION> class Timer_Queue_Test_Driver -// = TITLE -// Timer_Queue_Test_Driver -// -// = DESCRIPTION -// This class implements a test driver for timer queues. -// This is the place where the common code to test the -// different implementations of the timer queue resides. -// This class has the logic for the parse_commands() method, -// the run_test(), read_input() and the get_next_request(). -// Subclasses can override these methods if there is some -// logic that is specific to that implementation. + // = TITLE + // @@ Please add a more descriptive title here... + // Timer_Queue_Test_Driver + // + // = DESCRIPTION + // This class implements a test driver for timer queues. This is + // the place where the common code to test the different + // implementations of the timer queue resides. This class has + // the logic for the parse_commands() method, the run_test(), + // read_input() and the get_next_request(). Subclasses can + // override these methods if there is some logic that is specific + // to that implementation. { public: + // @@ Please comment all of these methods. virtual int parse_commands (const char *buf); virtual int run_test (void); @@ -98,20 +101,19 @@ protected: TQ timer_queue_; // timer queue - // Set of <Command>s to be executed. + // = Set of <Command>s to be executed. - Command<Receiver> *schedule_cmd_; + Command<RECEIVER, ACTION> *schedule_cmd_; // schedule timer command - Command<Receiver> *cancel_cmd_; + Command<RECEIVER, ACTION> *cancel_cmd_; // cancel timer command. - Command<Receiver> *list_cmd_; + Command<RECEIVER, ACTION> *list_cmd_; // list timers command. - Command<Receiver> *shutdown_cmd_; + Command<RECEIVER, ACTION> *shutdown_cmd_; // shutdown the driver. - }; #endif /* _DRIVER_H_ */ diff --git a/examples/Timer_Queue/Makefile b/examples/Timer_Queue/Makefile index f29de0447ed..559d85298d1 100644 --- a/examples/Timer_Queue/Makefile +++ b/examples/Timer_Queue/Makefile @@ -52,3 +52,79 @@ include $(ACE_ROOT)/include/makeinclude/rules.local.GNU # DO NOT DELETE THIS LINE -- g++dep uses it. # DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY. +.obj/Thread_Timer_Queue_Test.o .shobj/Thread_Timer_Queue_Test.so: Thread_Timer_Queue_Test.cpp \ + $(ACE_ROOT)/ace/Task.h \ + $(ACE_ROOT)/ace/Service_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/config.h \ + $(ACE_ROOT)/ace/stdcpp.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Version.h \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Shared_Object.i \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Service_Object.i \ + $(ACE_ROOT)/ace/Thread_Manager.h \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Atomic_Op.i \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Thread_Manager.i \ + $(ACE_ROOT)/ace/Task.i \ + $(ACE_ROOT)/ace/Task_T.h \ + $(ACE_ROOT)/ace/Message_Queue.h \ + $(ACE_ROOT)/ace/Message_Block.h \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Message_Block.i \ + $(ACE_ROOT)/ace/IO_Cntl_Msg.h \ + $(ACE_ROOT)/ace/Strategies.h \ + $(ACE_ROOT)/ace/Strategies_T.h \ + $(ACE_ROOT)/ace/Service_Config.h \ + $(ACE_ROOT)/ace/Service_Config.i \ + $(ACE_ROOT)/ace/Reactor.h \ + $(ACE_ROOT)/ace/Timer_Queue.h \ + $(ACE_ROOT)/ace/Timer_Queue_T.h \ + $(ACE_ROOT)/ace/Timer_Queue_T.i \ + $(ACE_ROOT)/ace/Reactor.i \ + $(ACE_ROOT)/ace/Reactor_Impl.h \ + $(ACE_ROOT)/ace/Handle_Set.h \ + $(ACE_ROOT)/ace/Handle_Set.i \ + $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \ + $(ACE_ROOT)/ace/Synch_Options.h \ + $(ACE_ROOT)/ace/Hash_Map_Manager.h \ + $(ACE_ROOT)/ace/Message_Queue.i \ + $(ACE_ROOT)/ace/Task_T.i \ + $(ACE_ROOT)/ace/Timer_Heap_T.h \ + $(ACE_ROOT)/ace/Timer_Queue_Adapters.h \ + $(ACE_ROOT)/ace/Timer_Queue_Adapters.i \ + Thread_Timer_Queue_Test.h Driver.h + +# IF YOU PUT ANYTHING HERE IT WILL GO AWAY diff --git a/examples/Timer_Queue/Reactor_Timer_Queue_Test.cpp b/examples/Timer_Queue/Reactor_Timer_Queue_Test.cpp index 0e5819cfd74..74f3ca49ce5 100644 --- a/examples/Timer_Queue/Reactor_Timer_Queue_Test.cpp +++ b/examples/Timer_Queue/Reactor_Timer_Queue_Test.cpp @@ -156,25 +156,23 @@ Reactor_Timer_Queue_Test_Driver::display_menu (void) int Reactor_Timer_Queue_Test_Driver::init (void) { + typedef Command<Input_Handler, Input_Handler::ACTION> COMMAND; + // initialize <Command>s with their corresponding <Input_Handler> methods. ACE_NEW_RETURN (schedule_cmd_, - Command<Input_Handler> (thandler, - thandler.schedule_timer), + COMMAND (thandler, &Input_Handler::schedule_timer), -1); ACE_NEW_RETURN (cancel_cmd_, - Command<Input_Handler> (thandler, - thandler.cancel_timer), + COMMAND (thandler, &Input_Handler::cancel_timer), -1); ACE_NEW_RETURN (list_cmd_, - Command<Input_Handler> (thandler, - thandler.list_timer), + COMMAND (thandler, &Input_Handler::list_timer), -1); ACE_NEW_RETURN (shutdown_cmd_, - Command<Input_Handler> (thandler, - thandler.shutdown_timer), + COMMAND (thandler, &Input_Handler::shutdown_timer), -1); REACTOR->set_timer_queue (&timer_queue_); diff --git a/examples/Timer_Queue/Reactor_Timer_Queue_Test.h b/examples/Timer_Queue/Reactor_Timer_Queue_Test.h index 7447fe3255c..153c22509b6 100644 --- a/examples/Timer_Queue/Reactor_Timer_Queue_Test.h +++ b/examples/Timer_Queue/Reactor_Timer_Queue_Test.h @@ -29,16 +29,20 @@ class Reactor_Timer_Queue_Test_Driver; class Input_Handler : public ACE_Event_Handler -// = TITLE -// Input_Handler -// -// = DESCRIPTION -// This class handles the reading of user input from stdin. Also -// has the logic to handle the commands that are to be invoked in response -// to the user input. + // = TITLE + // Input_Handler + // + // = DESCRIPTION + // This class handles the reading of user input from stdin. Also + // has the logic to handle the commands that are to be invoked in + // response to the user input. { - public: - Input_Handler (ACE_Timer_Queue *tq, Reactor_Timer_Queue_Test_Driver &timer_queue_driver); +public: + typedef int (Input_Handler::*ACTION) (void *); + + // @@ Please comment all these methods. + Input_Handler (ACE_Timer_Queue *tq, + Reactor_Timer_Queue_Test_Driver &timer_queue_driver); int handle_input (ACE_HANDLE); int done (void); @@ -47,7 +51,7 @@ class Input_Handler : public ACE_Event_Handler int list_timer (void *argument); int shutdown_timer (void *argument); - private: +private: ACE_Timer_Queue *tq_; // Keep a pointer to the timer queue we are using so we can // traverse the queue. @@ -59,15 +63,16 @@ class Input_Handler : public ACE_Event_Handler // Test driver. }; -class Reactor_Timer_Queue_Test_Driver : public Timer_Queue_Test_Driver <ACE_Timer_Heap, Input_Handler> -// = TITLE -// Reactor_Timer_Queue_Test_Driver -// -// = DESCRIPTION -// This class implements the logic to test the reactor implementation of -// timer queue, using an <ACE_Timer_Heap>. +class Reactor_Timer_Queue_Test_Driver : public Timer_Queue_Test_Driver <ACE_Timer_Heap, Input_Handler, Input_Handler::ACTION> + // = TITLE + // Reactor_Timer_Queue_Test_Driver + // + // = DESCRIPTION + // This class implements the logic to test the reactor + // implementation of timer queue, using an <ACE_Timer_Heap>. { - public: +public: + // Please comment all these methods. Reactor_Timer_Queue_Test_Driver (void); virtual int display_menu (void); @@ -80,10 +85,11 @@ private: }; class Reactor_Timer_Handler : public ACE_Event_Handler -// = TITLE -// Target of the reactive timeout operation. + // = TITLE + // Target of the reactive timeout operation. { public: + // @@ Please comment all these methods. Reactor_Timer_Handler (void); virtual int handle_timeout (const ACE_Time_Value &tv, diff --git a/examples/Timer_Queue/Thread_Timer_Queue_Test.cpp b/examples/Timer_Queue/Thread_Timer_Queue_Test.cpp index c3c277af147..11425f66a32 100644 --- a/examples/Timer_Queue/Thread_Timer_Queue_Test.cpp +++ b/examples/Timer_Queue/Thread_Timer_Queue_Test.cpp @@ -197,27 +197,24 @@ Thread_Timer_Queue_Test_Driver::display_menu (void) int Thread_Timer_Queue_Test_Driver::init (void) { + typedef Command<Input_Task, Input_Task::ACTION> COMMAND; // initialize the <Command> objects with their corresponding // methods from <Input_Task> ACE_NEW_RETURN (schedule_cmd_, - Command<Input_Task> (input_task, - input_task.add_timer), + COMMAND (input_task, &Input_Task::add_timer), -1); ACE_NEW_RETURN (cancel_cmd_, - Command<Input_Task> (input_task, - input_task.cancel_timer), + COMMAND (input_task, &Input_Task::cancel_timer), -1); ACE_NEW_RETURN (list_cmd_, - Command<Input_Task> (input_task, - input_task.list_timer), + COMMAND (input_task, &Input_Task::list_timer), -1); ACE_NEW_RETURN (shutdown_cmd_, - Command<Input_Task> (input_task, - input_task.shutdown_timer), + COMMAND (input_task, &Input_Task::shutdown_timer), -1); if (input_task.activate () == -1) diff --git a/examples/Timer_Queue/Thread_Timer_Queue_Test.h b/examples/Timer_Queue/Thread_Timer_Queue_Test.h index c4f8178c022..fa28bd9e18e 100644 --- a/examples/Timer_Queue/Thread_Timer_Queue_Test.h +++ b/examples/Timer_Queue/Thread_Timer_Queue_Test.h @@ -51,15 +51,18 @@ class Input_Task : public ACE_Task<ACE_SYNCH> // Read user actions on the Timer_Queue from stdin. // // = DESCRIPTION - // This class reads user input from stdin; those commands permit the - // control of a Timer_Queue, which is dispatched by another thread. + // This class reads user input from stdin; those commands permit + // the control of a Timer_Queue, which is dispatched by another + // thread. { public: + typedef int (Input_Task::*ACTION) (void *); + Input_Task (Thread_Timer_Queue *queue, Thread_Timer_Queue_Test_Driver &timer_queue_driver); virtual int svc (void); - // The method run on the new thread. + // This method runs the event loop in the new thread. // = Some helper methods. @@ -85,18 +88,19 @@ private: const int usecs_; // How many micro seconds are in a second. - Timer_Queue_Test_Driver<Thread_Timer_Queue, Input_Task> &driver_; + Timer_Queue_Test_Driver<Thread_Timer_Queue, Input_Task, Input_Task::ACTION> &driver_; // The thread timer queue test driver }; -class Thread_Timer_Queue_Test_Driver : public Timer_Queue_Test_Driver <Thread_Timer_Queue, Input_Task> -// = TITLE -// Thread_Timer_Queue_Test_Driver -// = DESCRIPTION -// This class implements a simple test driver for the <Thread_Timer_Queue>. -// The <display_menu> hook method is called from the base class to print -// a menu specific to the thread implementation of the timer queue. -// +class Thread_Timer_Queue_Test_Driver : public Timer_Queue_Test_Driver <Thread_Timer_Queue, Input_Task, Input_Task::ACTION> + // = TITLE + // Thread_Timer_Queue_Test_Driver + // + // = DESCRIPTION + // This class implements a simple test driver for the + // <Thread_Timer_Queue>. The <display_menu> hook method is + // called from the base class to print a menu specific to the + // thread implementation of the timer queue. { public: Thread_Timer_Queue_Test_Driver (void); @@ -107,6 +111,7 @@ public: private: Input_Task input_task; + // @@ Please fix this by putting a trailing '_'... }; class Handler : public ACE_Event_Handler @@ -116,7 +121,7 @@ class Handler : public ACE_Event_Handler // = DESCRIPTION // The <handle_timeout> hook method justs printouts the current // time, delete this and prints the delay on the twhen it is - // expired. + // expired. { public: Handler (const ACE_Time_Value &expiration_time); diff --git a/examples/Timer_Queue/main_async.cpp b/examples/Timer_Queue/main_async.cpp index 7a23947ace6..1447257e2de 100644 --- a/examples/Timer_Queue/main_async.cpp +++ b/examples/Timer_Queue/main_async.cpp @@ -23,7 +23,9 @@ #include "Driver.h" #include "Async_Timer_Queue_Test.h" -typedef Timer_Queue_Test_Driver<Async_Timer_Queue*, Async_Timer_Queue> +typedef Timer_Queue_Test_Driver<Async_Timer_Queue*, + Async_Timer_Queue, + Async_Timer_Queue::ACTION> ASYNC_TIMER_QUEUE_TEST_DRIVER; int diff --git a/examples/Timer_Queue/main_reactor.cpp b/examples/Timer_Queue/main_reactor.cpp index 000235a988c..724a5da52a1 100644 --- a/examples/Timer_Queue/main_reactor.cpp +++ b/examples/Timer_Queue/main_reactor.cpp @@ -23,7 +23,9 @@ #include "Driver.h" #include "Reactor_Timer_Queue_Test.h" -typedef Timer_Queue_Test_Driver <ACE_Timer_Heap, Input_Handler> +typedef Timer_Queue_Test_Driver <ACE_Timer_Heap, + Input_Handler, + Input_Handler::ACTION> REACTOR_TIMER_QUEUE_TEST_DRIVER; int diff --git a/examples/Timer_Queue/main_thread.cpp b/examples/Timer_Queue/main_thread.cpp index 3b15fb8c178..9d16c6cebd8 100644 --- a/examples/Timer_Queue/main_thread.cpp +++ b/examples/Timer_Queue/main_thread.cpp @@ -23,7 +23,9 @@ #include "Driver.h" #include "Thread_Timer_Queue_Test.h" -typedef Timer_Queue_Test_Driver<Thread_Timer_Queue, Input_Task> +typedef Timer_Queue_Test_Driver<Thread_Timer_Queue, + Input_Task, + Input_Task::ACTION> THREAD_TIMER_QUEUE_TEST_DRIVER; int |