summaryrefslogtreecommitdiff
path: root/examples/Timer_Queue
diff options
context:
space:
mode:
Diffstat (limited to 'examples/Timer_Queue')
-rw-r--r--examples/Timer_Queue/Async_Timer_Queue_Test.cpp308
-rw-r--r--examples/Timer_Queue/Async_Timer_Queue_Test.dsp104
-rw-r--r--examples/Timer_Queue/Async_Timer_Queue_Test.h118
-rw-r--r--examples/Timer_Queue/Driver.cpp155
-rw-r--r--examples/Timer_Queue/Driver.h135
-rw-r--r--examples/Timer_Queue/Makefile965
-rw-r--r--examples/Timer_Queue/README26
-rw-r--r--examples/Timer_Queue/Reactor_Timer_Queue_Test.cpp230
-rw-r--r--examples/Timer_Queue/Reactor_Timer_Queue_Test.dsp95
-rw-r--r--examples/Timer_Queue/Reactor_Timer_Queue_Test.h148
-rw-r--r--examples/Timer_Queue/Thread_Timer_Queue_Test.cpp312
-rw-r--r--examples/Timer_Queue/Thread_Timer_Queue_Test.dsp96
-rw-r--r--examples/Timer_Queue/Thread_Timer_Queue_Test.h155
-rw-r--r--examples/Timer_Queue/Timer_Queue.dsw41
-rw-r--r--examples/Timer_Queue/main_async.cpp53
-rw-r--r--examples/Timer_Queue/main_reactor.cpp57
-rw-r--r--examples/Timer_Queue/main_thread.cpp52
17 files changed, 0 insertions, 3050 deletions
diff --git a/examples/Timer_Queue/Async_Timer_Queue_Test.cpp b/examples/Timer_Queue/Async_Timer_Queue_Test.cpp
deleted file mode 100644
index 054dc3d2191..00000000000
--- a/examples/Timer_Queue/Async_Timer_Queue_Test.cpp
+++ /dev/null
@@ -1,308 +0,0 @@
-// $Id$
-
-// ============================================================================
-//
-// = LIBRARY
-// examples
-//
-// = FILENAME
-// Async_Timer_Queue_Test.cpp
-//
-// = DESCRIPTION
-// This test exercises the <ACE_Asynch_Timer_Queue_Adapter>
-// using an <ACE_Timer_Heap>.
-//
-// = AUTHORS
-// Douglas C. Schmidt <schmidt@cs.wustl.edu> and
-// Sergio Flores-Gaitan <sergio@cs.wustl.edu>
-//
-// ============================================================================
-
-#include "ace/Signal.h"
-#include "ace/Timer_Heap.h"
-#include "ace/Timer_Queue_Adapters.h"
-
-#include "Async_Timer_Queue_Test.h"
-
-#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
-template class ACE_Async_Timer_Queue_Adapter<ACE_Timer_Heap>;
-template class Command<Async_Timer_Queue, Async_Timer_Queue::ACTION>;
-template class Timer_Queue_Test_Driver<Async_Timer_Queue *, Async_Timer_Queue, Async_Timer_Queue::ACTION>;
-#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
-#pragma instantiate ACE_Async_Timer_Queue_Adapter<ACE_Timer_Heap>
-#pragma instantiate Command<Async_Timer_Queue, Async_Timer_Queue::ACTION>
-#pragma instantiate Timer_Queue_Test_Driver<Async_Timer_Queue *, Async_Timer_Queue, Async_Timer_Queue::ACTION>
-#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
-
-ACE_RCSID(Timer_Queue, Async_Timer_Queue_Test, "$Id$")
-
-// Hook method that is called to handle the expiration of a timer.
-int
-Async_Timer_Handler::handle_timeout (const ACE_Time_Value &tv,
- const void *arg)
-{
- // Print some information here (note that this is not strictly
- // signal-safe since the ACE logging mechanism uses functions that
- // aren't guaranteed to work in all signal handlers).
- ACE_DEBUG ((LM_DEBUG,
- "handle_timeout() = (%d, %d) %d\n",
- tv.sec (),
- tv.usec (),
- arg));
-
- // Commit suicide!
- delete this;
- return 0;
-}
-
-// Initialize the Singleton pointer.
-Async_Timer_Queue *Async_Timer_Queue::instance_ = 0;
-
-// Implement the Singleton logic.
-Async_Timer_Queue *
-Async_Timer_Queue::instance (void)
-{
- if (Async_Timer_Queue::instance_ == 0)
- {
- // Initialize with all signals enabled.
- ACE_Sig_Set ss (1);
-
- // But, don't block out SIGQUIT since we always want that
- // signal to interrupt the program.
- ss.sig_del (SIGQUIT);
-
- ACE_NEW_RETURN (Async_Timer_Queue::instance_,
- Async_Timer_Queue (&ss),
- 0);
- }
- return Async_Timer_Queue::instance_;
-}
-
-// Sets the signal set to mask, for the timer queue.
-
-Async_Timer_Queue::Async_Timer_Queue (ACE_Sig_Set *ss)
- : tq_ (ss)
-{
-}
-
-// Dump the contents of the queue when we receive ^C.
-
-void
-Async_Timer_Queue::dump (void)
-{
- ACE_DEBUG ((LM_DEBUG, "begin dumping timer queue\n"));
-
- // This iterator is implicitly protected since SIGINT and SIGALRM
- // signals cannot occur while it is running.
-
- for (ACE_Timer_Heap_Iterator iter (this->tq_.timer_queue ());
- iter.item () != 0;
- iter.next ())
- iter.item ()->dump ();
-
- ACE_DEBUG ((LM_DEBUG,
- "end dumping timer queue\n"));
-}
-
-// Schedule a timer.
-
-void
-Async_Timer_Queue::schedule (u_int microsecs)
-{
- ACE_Time_Value tv (0, microsecs);
-
- // Create a new Event_Handler for our timer.
-
- ACE_Event_Handler *eh;
- ACE_NEW (eh,
- Async_Timer_Handler);
-
- // Schedule the timer to run in the future.
- long tid = this->tq_.schedule
- (eh,
- 0, // Note that our "magic cookie" ACT is always NULL.
- ACE_OS::gettimeofday () + tv);
-
- if (tid == -1)
- ACE_ERROR ((LM_ERROR,
- "%p\n",
- "schedule_timer"));
-}
-
-// Cancel a timer.
-
-void
-Async_Timer_Queue::cancel (long timer_id)
-{
- ACE_DEBUG ((LM_DEBUG,
- "canceling %d\n",
- timer_id));
-
- const void *act = 0;
-
- if (this->tq_.cancel (timer_id, &act) == -1)
- ACE_ERROR ((LM_ERROR,
- "%p\n",
- "cancel_timer"));
-
- // In this case, the act will be 0, but it could be a real pointer
- // in other cases.
- delete (ACE_Event_Handler *) act;
-}
-
-// Schedule timer hook method. This method is called from the driver.
-
-int
-Async_Timer_Queue::schedule_timer (void *argument)
-{
- u_long useconds = *(int *)argument;
-
- // Schedule a timer.
- Async_Timer_Queue::instance ()->schedule (useconds);
-
- return 0;
-}
-
-// Cancel timer hook method. Is called from the driver class.
-
-int
-Async_Timer_Queue::cancel_timer (void *argument)
-{
- u_long id = *(int *)argument;
-
- // Cancel a timer.
- Async_Timer_Queue::instance ()->cancel (id);
-
- return 0;
-}
-
-// Dummy list timer hook method. The listing of timers is done from a
-// signal handler using SIGINT, not from the driver.
-
-int
-Async_Timer_Queue::list_timer (void *)
-{
- // Display an error message.
- ACE_ERROR_RETURN ((LM_ERROR,
- "invalid input\n"), 0);
-}
-
-// Dummy shutdown timer hook method. The shutdown of the timer queue
-// is done with a signal handler using SIGQUIT, not from the driver.
-
-int
-Async_Timer_Queue::shutdown_timer (void *)
-{
- // Display an error message.
- ACE_ERROR_RETURN ((LM_ERROR,
- "invalid input\n"),
- 0);
-}
-
-// Handler for the SIGINT and SIGQUIT signals.
-
-static void
-signal_handler (int signum)
-{
- ACE_DEBUG ((LM_DEBUG,
- "handling signal %S\n",
- signum));
-
- switch (signum)
- {
- case SIGINT:
- Async_Timer_Queue::instance ()->dump ();
- break;
- /* NOTREACHED */
-
- case SIGQUIT:
- ACE_ERROR ((LM_ERROR,
- "shutting down on SIGQUIT%a\n",
- 1));
- /* NOTREACHED */
- break;
- }
-}
-
-// Register the signal handlers for SIGQUIT and SIGINT. We must
-// ensure that the SIGINT handler isn't interrupted by SIGALRM.
-// However, SIGQUIT is never blocked...
-
-static void
-register_signal_handlers (void)
-{
- // Register SIGQUIT (never blocked).
- ACE_Sig_Action sigquit ((ACE_SignalHandler) signal_handler,
- SIGQUIT);
- ACE_UNUSED_ARG (sigquit);
-
- // Don't let the SIGALRM interrupt the SIGINT handler!
- ACE_Sig_Set ss;
- ss.sig_add (SIGALRM);
-
- // Register SIGINT (note that system calls will be restarted
- // automatically).
- ACE_Sig_Action sigint ((ACE_SignalHandler) signal_handler,
- SIGINT,
- ss,
- SA_RESTART);
- ACE_UNUSED_ARG (sigint);
-}
-
-// constructor
-
-Async_Timer_Queue_Test_Driver::Async_Timer_Queue_Test_Driver (void)
-{
-}
-
-// displays the menu of options.
-
-int
-Async_Timer_Queue_Test_Driver::display_menu (void)
-{
- // The menu of options provided to the user.
- static char menu[] =
- "****\n"
- "1) schedule timer <usecs> \n"
- "2) cancel timer <timer_id>\n"
- "^C list timers\n"
- "^\\ exit program\n";
-
- ACE_DEBUG ((LM_DEBUG,
- "%s",
- menu));
- return 0;
-}
-
-// Initializes the test driver.
-
-int
-Async_Timer_Queue_Test_Driver::init (void)
-{
- typedef Command<Async_Timer_Queue, Async_Timer_Queue::ACTION> CMD;
-
- // Initialize <Command> objects with their corresponding <Input_Task> methods.
- ACE_NEW_RETURN (schedule_cmd_,
- CMD (*Async_Timer_Queue::instance (),
- &Async_Timer_Queue::schedule_timer),
- -1);
-
- ACE_NEW_RETURN (cancel_cmd_,
- CMD (*Async_Timer_Queue::instance (),
- &Async_Timer_Queue::cancel_timer),
- -1);
-
- ACE_NEW_RETURN (list_cmd_,
- CMD (*Async_Timer_Queue::instance (),
- &Async_Timer_Queue::list_timer),
- -1);
-
- ACE_NEW_RETURN (shutdown_cmd_,
- CMD (*Async_Timer_Queue::instance (),
- &Async_Timer_Queue::shutdown_timer),
- -1);
-
- register_signal_handlers ();
-
- return 0;
-}
diff --git a/examples/Timer_Queue/Async_Timer_Queue_Test.dsp b/examples/Timer_Queue/Async_Timer_Queue_Test.dsp
deleted file mode 100644
index fd9c3ff06b8..00000000000
--- a/examples/Timer_Queue/Async_Timer_Queue_Test.dsp
+++ /dev/null
@@ -1,104 +0,0 @@
-# Microsoft Developer Studio Project File - Name="Async_Timer_Queue_Test" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=Async_Timer_Queue_Test - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "Async_Timer_Queue_Test.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "Async_Timer_Queue_Test.mak"\
- CFG="Async_Timer_Queue_Test - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "Async_Timer_Queue_Test - Win32 Release" (based on\
- "Win32 (x86) Console Application")
-!MESSAGE "Async_Timer_Queue_Test - Win32 Debug" (based on\
- "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "Async_Timer_Queue_Test - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-
-!ELSEIF "$(CFG)" == "Async_Timer_Queue_Test - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Async_Ti"
-# PROP BASE Intermediate_Dir "Async_Ti"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir ""
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\.." /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 aced.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\ace"
-
-!ENDIF
-
-# Begin Target
-
-# Name "Async_Timer_Queue_Test - Win32 Release"
-# Name "Async_Timer_Queue_Test - Win32 Debug"
-# Begin Source File
-
-SOURCE=.\Async_Timer_Queue_Test.cpp
-
-!IF "$(CFG)" == "Async_Timer_Queue_Test - Win32 Release"
-
-!ELSEIF "$(CFG)" == "Async_Timer_Queue_Test - Win32 Debug"
-
-# ADD CPP /I "..\.."
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\main_async.cpp
-# End Source File
-# End Target
-# End Project
diff --git a/examples/Timer_Queue/Async_Timer_Queue_Test.h b/examples/Timer_Queue/Async_Timer_Queue_Test.h
deleted file mode 100644
index 92977a58684..00000000000
--- a/examples/Timer_Queue/Async_Timer_Queue_Test.h
+++ /dev/null
@@ -1,118 +0,0 @@
-/* -*- C++ -*- */
-
-// $Id$
-
-// ============================================================================
-//
-// = LIBRARY
-// examples
-//
-// = FILENAME
-// Async_Timer_Queue_Test.h
-//
-// = DESCRIPTION
-// This test exercises the <ACE_Asynch_Timer_Queue_Adapter>
-// using an <ACE_Timer_Heap>.
-//
-// = AUTHORS
-// Douglas C. Schmidt and
-// Sergio Flores-Gaitan
-// ============================================================================
-
-#ifndef _ASYNC_TIMER_QUEUE_TEST_H_
-#define _ASYNC_TIMER_QUEUE_TEST_H_
-
-#include "ace/Signal.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "ace/Timer_Heap.h"
-#include "ace/Timer_Queue_Adapters.h"
-
-#include "Driver.h"
-
-class Async_Timer_Handler : public ACE_Event_Handler
-{
- // = TITLE
- // Target of the asynchronous timeout operation.
-public:
- virtual int handle_timeout (const ACE_Time_Value &tv,
- const void *arg);
- // Callback hook invoked by the <Timer_Queue>.
-};
-
-class Async_Timer_Queue
-{
- // = TITLE
- // Asynchronous Timer Queue Singleton.
- //
- // = DESCRIPTION
- // We use this class to avoid global variables and to
- // consolidate all the Timer Queue processing in one central
- // place.
-public:
- typedef int (Async_Timer_Queue::*ACTION) (void *);
-
- static Async_Timer_Queue *instance (void);
- // Singleton access point.
-
- void schedule (u_int microsecs);
- // Schedule a timer to expire <microsecs> in the future.
-
- void cancel (long timer_id);
- // Cancel a timer with <timer_id>.
-
- void dump (void);
- // Dump the contents of the queue.
-
- int schedule_timer (void *argument);
- // hook method to schedule a timer. Called from
- // <Timer_Queue_Test_Driver>
-
- int cancel_timer (void *argument);
- // hook method to cancel a timer. Called from
- // <Timer_Queue_Test_Driver>
-
- int list_timer (void *argument);
- // hook method to list timers. Called from
- // <Timer_Queue_Test_Driver>
-
- int shutdown_timer (void *argument);
- // hook method to exit the timer queue. Called from
- // <Timer_Queue_Test_Driver>
-
-private:
- Async_Timer_Queue (ACE_Sig_Set *);
- // Private constructor enforces the Singleton.
-
- static Async_Timer_Queue *instance_;
- // Pointer to the timer queue.
-
- ACE_Async_Timer_Queue_Adapter<ACE_Timer_Heap> tq_;
- // 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, 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);
-
- virtual int display_menu (void);
- // Print menu of options.
-
- virtual int init (void);
- // Initializes the driver's internal variables inherited from the parent
-};
-
-#endif /* _ASYNC_TIMER_QUEUE_TEST_H_ */
diff --git a/examples/Timer_Queue/Driver.cpp b/examples/Timer_Queue/Driver.cpp
deleted file mode 100644
index fdb567143a5..00000000000
--- a/examples/Timer_Queue/Driver.cpp
+++ /dev/null
@@ -1,155 +0,0 @@
-// $Id$
-
-// ============================================================================
-// = LIBRARY
-// examples
-//
-// = FILENAME
-// Driver.cpp
-//
-// = DESCRIPTION
-// This code builds an abstraction to factor out common code for
-// the different implementations of the Timer_Queue.
-//
-// = AUTHOR
-// Douglas Schmidt <schmidt@cs.wustl.edu> &&
-// Sergio Flores-Gaitan <sergio@cs.wustl.edu>
-//
-// ============================================================================
-
-#if !defined (_DRIVER_CPP_)
-#define _DRIVER_CPP_
-
-#include "ace/Auto_Ptr.h"
-#include "Driver.h"
-
-ACE_RCSID(Timer_Queue, Driver, "$Id$")
-
-// constructor
-
-template <class RECEIVER, class ACTION>
-Command<RECEIVER, ACTION>::Command (RECEIVER &recvr,
- ACTION action)
- : receiver_ (recvr),
- action_ (action)
-{
-}
-
-// invokes an operation.
-
-template <class RECEIVER, class ACTION> int
-Command<RECEIVER, ACTION>::execute (void *arg)
-{
- return (receiver_.*action_) (arg);
-}
-
-// gets the next request from the user input.
-
-template <class TQ, class RECEIVER, class ACTION>
-Timer_Queue_Test_Driver<TQ, RECEIVER, ACTION>::~Timer_Queue_Test_Driver (void)
-{
-}
-
-template <class TQ, class RECEIVER, class ACTION> int
-Timer_Queue_Test_Driver<TQ, RECEIVER, ACTION>::get_next_request (void)
-{
- char buf[BUFSIZ];
-
- this->display_menu ();
-
- ACE_OS::printf ("please enter your choice: ");
- ACE_OS::fflush (stdout);
-
- // reads input from the user
- if (this->read_input (buf, sizeof buf) <= 0)
- return -1;
-
- // Parse and run the command.
- return this->parse_commands (buf);
-}
-
-// Runs the test.
-
-template <class TQ, class RECEIVER, class ACTION> int
-Timer_Queue_Test_Driver<TQ, RECEIVER, ACTION>::run_test (void)
-{
- this->init ();
-
- for (;;)
- if (this->get_next_request () == -1)
- return -1;
-
- ACE_NOTREACHED (return 0);
-}
-
-// Reads input from the user from ACE_STDIN into the buffer specified.
-
-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);
-
- // Wait for user to type commands. This call is automatically
- // restarted when SIGINT or SIGALRM signals occur.
- return ACE_OS::read (ACE_STDIN, buf, bufsiz);
-}
-
-// Parse the input and executes the corresponding operation
-
-template <class TQ, class RECEIVER, class ACTION> int
-Timer_Queue_Test_Driver<TQ, RECEIVER, ACTION>::parse_commands (const char *buf)
-{
- int option;
-
- if (::sscanf (buf, "%d", &option) <= 0)
- // If there was an error reading the option simply try on the next line.
- return 0;
-
- switch (option)
- {
- case 1: // Schedule a new timer.
- {
- u_long useconds;
- // We just reread the option, this simplies parsing (since
- // sscanf can do it for us.)
- if (::sscanf (buf, "%d %lu", &option, &useconds) < 2)
- return 0;
-
- if (schedule_cmd_->execute ((void *) &useconds) == -1)
- ACE_ERROR_RETURN ((LM_ERROR, "%t %p\n", "new timer failed"), -1);
- }
- break; // Cancel an existing timer.
- /* NOTREACHED */
- case 2:
- {
- u_long id;
- // We just reread the option, this simplies parsing (since
- // sscanf can do it for us.)
- if (::sscanf (buf, "%d %lu", &option, &id) < 2)
- return 0;
-
- if (cancel_cmd_->execute ((void *) &id) == -1)
- ACE_DEBUG ((LM_DEBUG, "Timer #%d is not valid\n", id));
-
- }
- break;
- /* NOTREACHED */
-
- case 3: // Dump the existing timers.
- return list_cmd_->execute (NULL);
- /* NOTREACHED */
-
- case 4: // Exit the program.
- return shutdown_cmd_->execute (NULL);
- /* NOTREACHED */
-
- default:
- // Display an error message.
- ACE_ERROR_RETURN ((LM_ERROR, "invalid input %s\n", buf), 0);
- ACE_NOTREACHED (break);
- /* NOTREACHED */
- }
- return 0;
-}
-
-#endif /* _DRIVER_CPP_ */
diff --git a/examples/Timer_Queue/Driver.h b/examples/Timer_Queue/Driver.h
deleted file mode 100644
index 135272de0f4..00000000000
--- a/examples/Timer_Queue/Driver.h
+++ /dev/null
@@ -1,135 +0,0 @@
-/* -*- C++ -*- */
-
-// $Id$
-
-// ============================================================================
-//
-// = LIBRARY
-// examples
-//
-// = FILENAME
-// Driver.h
-//
-// = DESCRIPTION
-// This code builds an abstraction to factor out common code for
-// the different implementations of the Timer_Queue.
-//
-// = AUTHORS
-// Sergio Flores-Gaitan <sergio@cs.wustl.edu>
-//
-// ============================================================================
-
-#ifndef _DRIVER_H_
-#define _DRIVER_H_
-
-#include "ace/Task.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "ace/Timer_Heap_T.h"
-#include "ace/Timer_Queue_Adapters.h"
-
-template <class RECEIVER, class ACTION>
-class Command
-{
- // = TITLE
- // Defines an abstract class that allows us to invoke commands
- // without knowing anything about the implementation. This class
- // is used in the <Timer_Queue_Test_Driver> to invoke operations
- // of the driver.
- //
- // = 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:
- Command (RECEIVER &recvr, ACTION action);
- // Sets the <receiver_> of the Command to recvr, and the
- // <action_> of the Command to <action>.
-
- virtual int execute (void *arg);
- // Invokes the method <action_> from the object <receiver_>.
-
-private:
- RECEIVER &receiver_;
- // object where the method resides.
-
- ACTION action_;
- // method that is going to be invoked.
-};
-
-template <class TQ, class RECEIVER, class ACTION>
-class Timer_Queue_Test_Driver
-{
- // = TITLE
- // Defines a class that provides a simmple implementation for
- // a test driver for timer queues.
- //
- // = DESCRIPTION
- // 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:
- virtual ~Timer_Queue_Test_Driver (void);
- // Default destructor
-
- virtual int parse_commands (const char *buf);
- // Breaks up the input string buffer into pieces and executes
- // the appropriate method to handle that operation.
-
- virtual int run_test (void);
- // This is the main entry point to the test driver. The user
- // of the class should normally invoke this method.
- // Returns 0 when successful, or 0 otherwise.
-
- virtual int get_next_request (void);
- // This internal method gets the next request from the user.
- // Returns -1 when user wants to exit. Returns 0 otherwise.
-
- virtual ssize_t read_input (char *buf, size_t bufsiz);
- // Reads input from the user into the buffer <buf> with a maximum
- // of <bufsiz> bytes. Returns the amount of bytes actually read
- // Otherwise, a -1 is returned and errno is set to indicate the error.
-
- // = Template Methods.
-
- virtual int display_menu (void)=0;
- // Prints the user interface for the driver to STDOUT.
-
- virtual int init (void)=0;
- // Initializes values and operations for the driver.
-
-protected:
- TQ timer_queue_;
- // timer queue
-
- // = Set of <Command>s to be executed.
-
- Command<RECEIVER, ACTION> *schedule_cmd_;
- // schedule timer command
-
- Command<RECEIVER, ACTION> *cancel_cmd_;
- // cancel timer command.
-
- Command<RECEIVER, ACTION> *list_cmd_;
- // list timers command.
-
- Command<RECEIVER, ACTION> *shutdown_cmd_;
- // shutdown the driver.
-};
-
-#if defined (ACE_TEMPLATES_REQUIRE_SOURCE)
-#include "Driver.cpp"
-#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */
-
-#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA)
-#pragma implementation ("Driver.cpp")
-#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */
-
-#endif /* _DRIVER_H_ */
diff --git a/examples/Timer_Queue/Makefile b/examples/Timer_Queue/Makefile
deleted file mode 100644
index 4d2f103d0d5..00000000000
--- a/examples/Timer_Queue/Makefile
+++ /dev/null
@@ -1,965 +0,0 @@
-#----------------------------------------------------------------------------
-# $Id$
-#----------------------------------------------------------------------------
-
-#----------------------------------------------------------------------------
-# Local macros
-#----------------------------------------------------------------------------
-
-INFO = README
-
-LIB = libTQTD.a
-SHLIB = libTQTD.$(SOEXT)
-
-BIN = main_async \
- main_reactor \
- main_thread
-
-PSRC = $(addsuffix .cpp,$(BIN))
-
-LSRC = Async_Timer_Queue_Test.cpp \
- Reactor_Timer_Queue_Test.cpp \
- Thread_Timer_Queue_Test.cpp \
- Driver.cpp
-
-LDLIBS = -lTQTD
-
-LIBS += $(ACELIB)
-
-BUILD = $(VLIB) $(VSHLIB) $(SHLIBA) $(VBIN)
-
-#----------------------------------------------------------------------------
-# Include macros and targets
-#----------------------------------------------------------------------------
-
-include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
-include $(ACE_ROOT)/include/makeinclude/macros.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.lib.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
-
-#----------------------------------------------------------------------------
-# Local targets
-#----------------------------------------------------------------------------
-
-#----------------------------------------------------------------------------
-# Dependencies
-#----------------------------------------------------------------------------
-
-# DO NOT DELETE THIS LINE -- g++dep uses it.
-# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
-
-.obj/Async_Timer_Queue_Test.o .obj/Async_Timer_Queue_Test.so .shobj/Async_Timer_Queue_Test.o .shobj/Async_Timer_Queue_Test.so: Async_Timer_Queue_Test.cpp \
- $(ACE_ROOT)/ace/Signal.h \
- $(ACE_ROOT)/ace/Synch.h \
- $(ACE_ROOT)/ace/ACE.h \
- $(ACE_ROOT)/ace/OS.h \
- $(ACE_ROOT)/ace/inc_user_config.h \
- $(ACE_ROOT)/ace/streams.h \
- $(ACE_ROOT)/ace/Basic_Types.h \
- $(ACE_ROOT)/ace/Basic_Types.i \
- $(ACE_ROOT)/ace/Trace.h \
- $(ACE_ROOT)/ace/OS.i \
- $(ACE_ROOT)/ace/Log_Msg.h \
- $(ACE_ROOT)/ace/Log_Record.h \
- $(ACE_ROOT)/ace/ACE.i \
- $(ACE_ROOT)/ace/Log_Priority.h \
- $(ACE_ROOT)/ace/Log_Record.i \
- $(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/Event_Handler.h \
- $(ACE_ROOT)/ace/Event_Handler.i \
- $(ACE_ROOT)/ace/Synch_T.i \
- $(ACE_ROOT)/ace/Thread.h \
- $(ACE_ROOT)/ace/Thread.i \
- $(ACE_ROOT)/ace/Atomic_Op.i \
- $(ACE_ROOT)/ace/Synch_T.cpp \
- $(ACE_ROOT)/ace/Containers.h \
- $(ACE_ROOT)/ace/Malloc_Base.h \
- $(ACE_ROOT)/ace/Containers.i \
- $(ACE_ROOT)/ace/Containers_T.h \
- $(ACE_ROOT)/ace/Containers_T.i \
- $(ACE_ROOT)/ace/Containers_T.cpp \
- $(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/Free_List.cpp \
- $(ACE_ROOT)/ace/Malloc_T.i \
- $(ACE_ROOT)/ace/Malloc_T.cpp \
- $(ACE_ROOT)/ace/Memory_Pool.h \
- $(ACE_ROOT)/ace/Mem_Map.h \
- $(ACE_ROOT)/ace/Mem_Map.i \
- $(ACE_ROOT)/ace/Memory_Pool.i \
- $(ACE_ROOT)/ace/Signal.i \
- $(ACE_ROOT)/ace/Object_Manager.h \
- $(ACE_ROOT)/ace/Object_Manager.i \
- $(ACE_ROOT)/ace/Managed_Object.h \
- $(ACE_ROOT)/ace/Managed_Object.i \
- $(ACE_ROOT)/ace/Managed_Object.cpp \
- $(ACE_ROOT)/ace/Timer_Heap.h \
- $(ACE_ROOT)/ace/Timer_Heap_T.h \
- $(ACE_ROOT)/ace/Timer_Queue_T.h \
- $(ACE_ROOT)/ace/Timer_Queue_T.i \
- $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
- $(ACE_ROOT)/ace/Timer_Heap_T.cpp \
- $(ACE_ROOT)/ace/Timer_Queue_Adapters.h \
- $(ACE_ROOT)/ace/Task.h \
- $(ACE_ROOT)/ace/Service_Object.h \
- $(ACE_ROOT)/ace/Shared_Object.h \
- $(ACE_ROOT)/ace/Shared_Object.i \
- $(ACE_ROOT)/ace/Service_Object.i \
- $(ACE_ROOT)/ace/Thread_Manager.h \
- $(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/Message_Block.i \
- $(ACE_ROOT)/ace/Message_Block_T.h \
- $(ACE_ROOT)/ace/Message_Block_T.i \
- $(ACE_ROOT)/ace/Message_Block_T.cpp \
- $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
- $(ACE_ROOT)/ace/Message_Queue_T.h \
- $(ACE_ROOT)/ace/Message_Queue_T.i \
- $(ACE_ROOT)/ace/Message_Queue_T.cpp \
- $(ACE_ROOT)/ace/Strategies.h \
- $(ACE_ROOT)/ace/Strategies_T.h \
- $(ACE_ROOT)/ace/Service_Config.h \
- $(ACE_ROOT)/ace/SString.h \
- $(ACE_ROOT)/ace/SString.i \
- $(ACE_ROOT)/ace/Service_Config.i \
- $(ACE_ROOT)/ace/Reactor.h \
- $(ACE_ROOT)/ace/Handle_Set.h \
- $(ACE_ROOT)/ace/Handle_Set.i \
- $(ACE_ROOT)/ace/Timer_Queue.h \
- $(ACE_ROOT)/ace/Reactor.i \
- $(ACE_ROOT)/ace/Reactor_Impl.h \
- $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
- $(ACE_ROOT)/ace/Synch_Options.h \
- $(ACE_ROOT)/ace/Synch_Options.i \
- $(ACE_ROOT)/ace/Hash_Map_Manager.h \
- $(ACE_ROOT)/ace/Functor.h \
- $(ACE_ROOT)/ace/Functor.i \
- $(ACE_ROOT)/ace/Functor_T.h \
- $(ACE_ROOT)/ace/Functor_T.i \
- $(ACE_ROOT)/ace/Functor_T.cpp \
- $(ACE_ROOT)/ace/Hash_Map_Manager.i \
- $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
- $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
- $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
- $(ACE_ROOT)/ace/Strategies_T.i \
- $(ACE_ROOT)/ace/Strategies_T.cpp \
- $(ACE_ROOT)/ace/Service_Repository.h \
- $(ACE_ROOT)/ace/Service_Types.h \
- $(ACE_ROOT)/ace/Service_Types.i \
- $(ACE_ROOT)/ace/Service_Repository.i \
- $(ACE_ROOT)/ace/WFMO_Reactor.h \
- $(ACE_ROOT)/ace/WFMO_Reactor.i \
- $(ACE_ROOT)/ace/Strategies.i \
- $(ACE_ROOT)/ace/Message_Queue.i \
- $(ACE_ROOT)/ace/Task_T.i \
- $(ACE_ROOT)/ace/Task_T.cpp \
- $(ACE_ROOT)/ace/Module.h \
- $(ACE_ROOT)/ace/Module.i \
- $(ACE_ROOT)/ace/Module.cpp \
- $(ACE_ROOT)/ace/Stream_Modules.h \
- $(ACE_ROOT)/ace/Stream_Modules.i \
- $(ACE_ROOT)/ace/Stream_Modules.cpp \
- $(ACE_ROOT)/ace/Timer_Queue_Adapters.i \
- $(ACE_ROOT)/ace/Timer_Queue_Adapters.cpp \
- Async_Timer_Queue_Test.h Driver.h Driver.cpp \
- $(ACE_ROOT)/ace/Auto_Ptr.h \
- $(ACE_ROOT)/ace/Auto_Ptr.i \
- $(ACE_ROOT)/ace/Auto_Ptr.cpp
-.obj/Reactor_Timer_Queue_Test.o .obj/Reactor_Timer_Queue_Test.so .shobj/Reactor_Timer_Queue_Test.o .shobj/Reactor_Timer_Queue_Test.so: Reactor_Timer_Queue_Test.cpp \
- $(ACE_ROOT)/ace/Thread_Manager.h \
- $(ACE_ROOT)/ace/Thread.h \
- $(ACE_ROOT)/ace/ACE.h \
- $(ACE_ROOT)/ace/OS.h \
- $(ACE_ROOT)/ace/inc_user_config.h \
- $(ACE_ROOT)/ace/streams.h \
- $(ACE_ROOT)/ace/Basic_Types.h \
- $(ACE_ROOT)/ace/Basic_Types.i \
- $(ACE_ROOT)/ace/Trace.h \
- $(ACE_ROOT)/ace/OS.i \
- $(ACE_ROOT)/ace/Log_Msg.h \
- $(ACE_ROOT)/ace/Log_Record.h \
- $(ACE_ROOT)/ace/ACE.i \
- $(ACE_ROOT)/ace/Log_Priority.h \
- $(ACE_ROOT)/ace/Log_Record.i \
- $(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/Event_Handler.h \
- $(ACE_ROOT)/ace/Event_Handler.i \
- $(ACE_ROOT)/ace/Synch_T.i \
- $(ACE_ROOT)/ace/Atomic_Op.i \
- $(ACE_ROOT)/ace/Synch_T.cpp \
- $(ACE_ROOT)/ace/Containers.h \
- $(ACE_ROOT)/ace/Malloc_Base.h \
- $(ACE_ROOT)/ace/Containers.i \
- $(ACE_ROOT)/ace/Containers_T.h \
- $(ACE_ROOT)/ace/Containers_T.i \
- $(ACE_ROOT)/ace/Containers_T.cpp \
- $(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/Free_List.cpp \
- $(ACE_ROOT)/ace/Malloc_T.i \
- $(ACE_ROOT)/ace/Malloc_T.cpp \
- $(ACE_ROOT)/ace/Memory_Pool.h \
- $(ACE_ROOT)/ace/Signal.h \
- $(ACE_ROOT)/ace/Signal.i \
- $(ACE_ROOT)/ace/Object_Manager.h \
- $(ACE_ROOT)/ace/Object_Manager.i \
- $(ACE_ROOT)/ace/Managed_Object.h \
- $(ACE_ROOT)/ace/Managed_Object.i \
- $(ACE_ROOT)/ace/Managed_Object.cpp \
- $(ACE_ROOT)/ace/Mem_Map.h \
- $(ACE_ROOT)/ace/Mem_Map.i \
- $(ACE_ROOT)/ace/Memory_Pool.i \
- $(ACE_ROOT)/ace/Thread_Manager.i \
- $(ACE_ROOT)/ace/Select_Reactor.h \
- $(ACE_ROOT)/ace/Select_Reactor_T.h \
- $(ACE_ROOT)/ace/Select_Reactor_Base.h \
- $(ACE_ROOT)/ace/Timer_Queue.h \
- $(ACE_ROOT)/ace/Timer_Queue_T.h \
- $(ACE_ROOT)/ace/Timer_Queue_T.i \
- $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
- $(ACE_ROOT)/ace/Handle_Set.h \
- $(ACE_ROOT)/ace/Handle_Set.i \
- $(ACE_ROOT)/ace/Token.h \
- $(ACE_ROOT)/ace/Token.i \
- $(ACE_ROOT)/ace/Pipe.h \
- $(ACE_ROOT)/ace/Pipe.i \
- $(ACE_ROOT)/ace/Reactor_Impl.h \
- $(ACE_ROOT)/ace/Select_Reactor_Base.i \
- $(ACE_ROOT)/ace/Reactor.h \
- $(ACE_ROOT)/ace/Reactor.i \
- $(ACE_ROOT)/ace/Select_Reactor_T.cpp \
- $(ACE_ROOT)/ace/Timer_Heap.h \
- $(ACE_ROOT)/ace/Timer_Heap_T.h \
- $(ACE_ROOT)/ace/Timer_Heap_T.cpp \
- $(ACE_ROOT)/ace/Select_Reactor_T.i \
- $(ACE_ROOT)/ace/Select_Reactor.i \
- Driver.h \
- $(ACE_ROOT)/ace/Task.h \
- $(ACE_ROOT)/ace/Service_Object.h \
- $(ACE_ROOT)/ace/Shared_Object.h \
- $(ACE_ROOT)/ace/Shared_Object.i \
- $(ACE_ROOT)/ace/Service_Object.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/Message_Block.i \
- $(ACE_ROOT)/ace/Message_Block_T.h \
- $(ACE_ROOT)/ace/Message_Block_T.i \
- $(ACE_ROOT)/ace/Message_Block_T.cpp \
- $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
- $(ACE_ROOT)/ace/Message_Queue_T.h \
- $(ACE_ROOT)/ace/Message_Queue_T.i \
- $(ACE_ROOT)/ace/Message_Queue_T.cpp \
- $(ACE_ROOT)/ace/Strategies.h \
- $(ACE_ROOT)/ace/Strategies_T.h \
- $(ACE_ROOT)/ace/Service_Config.h \
- $(ACE_ROOT)/ace/SString.h \
- $(ACE_ROOT)/ace/SString.i \
- $(ACE_ROOT)/ace/Service_Config.i \
- $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
- $(ACE_ROOT)/ace/Synch_Options.h \
- $(ACE_ROOT)/ace/Synch_Options.i \
- $(ACE_ROOT)/ace/Hash_Map_Manager.h \
- $(ACE_ROOT)/ace/Functor.h \
- $(ACE_ROOT)/ace/Functor.i \
- $(ACE_ROOT)/ace/Functor_T.h \
- $(ACE_ROOT)/ace/Functor_T.i \
- $(ACE_ROOT)/ace/Functor_T.cpp \
- $(ACE_ROOT)/ace/Hash_Map_Manager.i \
- $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
- $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
- $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
- $(ACE_ROOT)/ace/Strategies_T.i \
- $(ACE_ROOT)/ace/Strategies_T.cpp \
- $(ACE_ROOT)/ace/Service_Repository.h \
- $(ACE_ROOT)/ace/Service_Types.h \
- $(ACE_ROOT)/ace/Service_Types.i \
- $(ACE_ROOT)/ace/Service_Repository.i \
- $(ACE_ROOT)/ace/WFMO_Reactor.h \
- $(ACE_ROOT)/ace/WFMO_Reactor.i \
- $(ACE_ROOT)/ace/Strategies.i \
- $(ACE_ROOT)/ace/Message_Queue.i \
- $(ACE_ROOT)/ace/Task_T.i \
- $(ACE_ROOT)/ace/Task_T.cpp \
- $(ACE_ROOT)/ace/Module.h \
- $(ACE_ROOT)/ace/Module.i \
- $(ACE_ROOT)/ace/Module.cpp \
- $(ACE_ROOT)/ace/Stream_Modules.h \
- $(ACE_ROOT)/ace/Stream_Modules.i \
- $(ACE_ROOT)/ace/Stream_Modules.cpp \
- $(ACE_ROOT)/ace/Timer_Queue_Adapters.h \
- $(ACE_ROOT)/ace/Timer_Queue_Adapters.i \
- $(ACE_ROOT)/ace/Timer_Queue_Adapters.cpp \
- Driver.cpp \
- $(ACE_ROOT)/ace/Auto_Ptr.h \
- $(ACE_ROOT)/ace/Auto_Ptr.i \
- $(ACE_ROOT)/ace/Auto_Ptr.cpp \
- Reactor_Timer_Queue_Test.h
-.obj/Thread_Timer_Queue_Test.o .obj/Thread_Timer_Queue_Test.so .shobj/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/inc_user_config.h \
- $(ACE_ROOT)/ace/streams.h \
- $(ACE_ROOT)/ace/Basic_Types.h \
- $(ACE_ROOT)/ace/Basic_Types.i \
- $(ACE_ROOT)/ace/Trace.h \
- $(ACE_ROOT)/ace/OS.i \
- $(ACE_ROOT)/ace/Log_Msg.h \
- $(ACE_ROOT)/ace/Log_Record.h \
- $(ACE_ROOT)/ace/ACE.i \
- $(ACE_ROOT)/ace/Log_Priority.h \
- $(ACE_ROOT)/ace/Log_Record.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/Synch_T.cpp \
- $(ACE_ROOT)/ace/Containers.h \
- $(ACE_ROOT)/ace/Malloc_Base.h \
- $(ACE_ROOT)/ace/Containers.i \
- $(ACE_ROOT)/ace/Containers_T.h \
- $(ACE_ROOT)/ace/Containers_T.i \
- $(ACE_ROOT)/ace/Containers_T.cpp \
- $(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/Free_List.cpp \
- $(ACE_ROOT)/ace/Malloc_T.i \
- $(ACE_ROOT)/ace/Malloc_T.cpp \
- $(ACE_ROOT)/ace/Memory_Pool.h \
- $(ACE_ROOT)/ace/Signal.h \
- $(ACE_ROOT)/ace/Signal.i \
- $(ACE_ROOT)/ace/Object_Manager.h \
- $(ACE_ROOT)/ace/Object_Manager.i \
- $(ACE_ROOT)/ace/Managed_Object.h \
- $(ACE_ROOT)/ace/Managed_Object.i \
- $(ACE_ROOT)/ace/Managed_Object.cpp \
- $(ACE_ROOT)/ace/Mem_Map.h \
- $(ACE_ROOT)/ace/Mem_Map.i \
- $(ACE_ROOT)/ace/Memory_Pool.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/Message_Block.i \
- $(ACE_ROOT)/ace/Message_Block_T.h \
- $(ACE_ROOT)/ace/Message_Block_T.i \
- $(ACE_ROOT)/ace/Message_Block_T.cpp \
- $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
- $(ACE_ROOT)/ace/Message_Queue_T.h \
- $(ACE_ROOT)/ace/Message_Queue_T.i \
- $(ACE_ROOT)/ace/Message_Queue_T.cpp \
- $(ACE_ROOT)/ace/Strategies.h \
- $(ACE_ROOT)/ace/Strategies_T.h \
- $(ACE_ROOT)/ace/Service_Config.h \
- $(ACE_ROOT)/ace/SString.h \
- $(ACE_ROOT)/ace/SString.i \
- $(ACE_ROOT)/ace/Service_Config.i \
- $(ACE_ROOT)/ace/Reactor.h \
- $(ACE_ROOT)/ace/Handle_Set.h \
- $(ACE_ROOT)/ace/Handle_Set.i \
- $(ACE_ROOT)/ace/Timer_Queue.h \
- $(ACE_ROOT)/ace/Timer_Queue_T.h \
- $(ACE_ROOT)/ace/Timer_Queue_T.i \
- $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
- $(ACE_ROOT)/ace/Reactor.i \
- $(ACE_ROOT)/ace/Reactor_Impl.h \
- $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
- $(ACE_ROOT)/ace/Synch_Options.h \
- $(ACE_ROOT)/ace/Synch_Options.i \
- $(ACE_ROOT)/ace/Hash_Map_Manager.h \
- $(ACE_ROOT)/ace/Functor.h \
- $(ACE_ROOT)/ace/Functor.i \
- $(ACE_ROOT)/ace/Functor_T.h \
- $(ACE_ROOT)/ace/Functor_T.i \
- $(ACE_ROOT)/ace/Functor_T.cpp \
- $(ACE_ROOT)/ace/Hash_Map_Manager.i \
- $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
- $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
- $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
- $(ACE_ROOT)/ace/Strategies_T.i \
- $(ACE_ROOT)/ace/Strategies_T.cpp \
- $(ACE_ROOT)/ace/Service_Repository.h \
- $(ACE_ROOT)/ace/Service_Types.h \
- $(ACE_ROOT)/ace/Service_Types.i \
- $(ACE_ROOT)/ace/Service_Repository.i \
- $(ACE_ROOT)/ace/WFMO_Reactor.h \
- $(ACE_ROOT)/ace/WFMO_Reactor.i \
- $(ACE_ROOT)/ace/Strategies.i \
- $(ACE_ROOT)/ace/Message_Queue.i \
- $(ACE_ROOT)/ace/Task_T.i \
- $(ACE_ROOT)/ace/Task_T.cpp \
- $(ACE_ROOT)/ace/Module.h \
- $(ACE_ROOT)/ace/Module.i \
- $(ACE_ROOT)/ace/Module.cpp \
- $(ACE_ROOT)/ace/Stream_Modules.h \
- $(ACE_ROOT)/ace/Stream_Modules.i \
- $(ACE_ROOT)/ace/Stream_Modules.cpp \
- $(ACE_ROOT)/ace/Timer_Heap_T.h \
- $(ACE_ROOT)/ace/Timer_Heap_T.cpp \
- $(ACE_ROOT)/ace/Timer_Queue_Adapters.h \
- $(ACE_ROOT)/ace/Timer_Queue_Adapters.i \
- $(ACE_ROOT)/ace/Timer_Queue_Adapters.cpp \
- Thread_Timer_Queue_Test.h Driver.h Driver.cpp \
- $(ACE_ROOT)/ace/Auto_Ptr.h \
- $(ACE_ROOT)/ace/Auto_Ptr.i \
- $(ACE_ROOT)/ace/Auto_Ptr.cpp
-.obj/Driver.o .obj/Driver.so .shobj/Driver.o .shobj/Driver.so: Driver.cpp \
- $(ACE_ROOT)/ace/Auto_Ptr.h \
- $(ACE_ROOT)/ace/ACE.h \
- $(ACE_ROOT)/ace/OS.h \
- $(ACE_ROOT)/ace/inc_user_config.h \
- $(ACE_ROOT)/ace/streams.h \
- $(ACE_ROOT)/ace/Basic_Types.h \
- $(ACE_ROOT)/ace/Basic_Types.i \
- $(ACE_ROOT)/ace/Trace.h \
- $(ACE_ROOT)/ace/OS.i \
- $(ACE_ROOT)/ace/Log_Msg.h \
- $(ACE_ROOT)/ace/Log_Record.h \
- $(ACE_ROOT)/ace/ACE.i \
- $(ACE_ROOT)/ace/Log_Priority.h \
- $(ACE_ROOT)/ace/Log_Record.i \
- $(ACE_ROOT)/ace/Auto_Ptr.i \
- $(ACE_ROOT)/ace/Auto_Ptr.cpp \
- Driver.h \
- $(ACE_ROOT)/ace/Task.h \
- $(ACE_ROOT)/ace/Service_Object.h \
- $(ACE_ROOT)/ace/Shared_Object.h \
- $(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/Synch_T.cpp \
- $(ACE_ROOT)/ace/Containers.h \
- $(ACE_ROOT)/ace/Malloc_Base.h \
- $(ACE_ROOT)/ace/Containers.i \
- $(ACE_ROOT)/ace/Containers_T.h \
- $(ACE_ROOT)/ace/Containers_T.i \
- $(ACE_ROOT)/ace/Containers_T.cpp \
- $(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/Free_List.cpp \
- $(ACE_ROOT)/ace/Malloc_T.i \
- $(ACE_ROOT)/ace/Malloc_T.cpp \
- $(ACE_ROOT)/ace/Memory_Pool.h \
- $(ACE_ROOT)/ace/Signal.h \
- $(ACE_ROOT)/ace/Signal.i \
- $(ACE_ROOT)/ace/Object_Manager.h \
- $(ACE_ROOT)/ace/Object_Manager.i \
- $(ACE_ROOT)/ace/Managed_Object.h \
- $(ACE_ROOT)/ace/Managed_Object.i \
- $(ACE_ROOT)/ace/Managed_Object.cpp \
- $(ACE_ROOT)/ace/Mem_Map.h \
- $(ACE_ROOT)/ace/Mem_Map.i \
- $(ACE_ROOT)/ace/Memory_Pool.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/Message_Block.i \
- $(ACE_ROOT)/ace/Message_Block_T.h \
- $(ACE_ROOT)/ace/Message_Block_T.i \
- $(ACE_ROOT)/ace/Message_Block_T.cpp \
- $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
- $(ACE_ROOT)/ace/Message_Queue_T.h \
- $(ACE_ROOT)/ace/Message_Queue_T.i \
- $(ACE_ROOT)/ace/Message_Queue_T.cpp \
- $(ACE_ROOT)/ace/Strategies.h \
- $(ACE_ROOT)/ace/Strategies_T.h \
- $(ACE_ROOT)/ace/Service_Config.h \
- $(ACE_ROOT)/ace/SString.h \
- $(ACE_ROOT)/ace/SString.i \
- $(ACE_ROOT)/ace/Service_Config.i \
- $(ACE_ROOT)/ace/Reactor.h \
- $(ACE_ROOT)/ace/Handle_Set.h \
- $(ACE_ROOT)/ace/Handle_Set.i \
- $(ACE_ROOT)/ace/Timer_Queue.h \
- $(ACE_ROOT)/ace/Timer_Queue_T.h \
- $(ACE_ROOT)/ace/Timer_Queue_T.i \
- $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
- $(ACE_ROOT)/ace/Reactor.i \
- $(ACE_ROOT)/ace/Reactor_Impl.h \
- $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
- $(ACE_ROOT)/ace/Synch_Options.h \
- $(ACE_ROOT)/ace/Synch_Options.i \
- $(ACE_ROOT)/ace/Hash_Map_Manager.h \
- $(ACE_ROOT)/ace/Functor.h \
- $(ACE_ROOT)/ace/Functor.i \
- $(ACE_ROOT)/ace/Functor_T.h \
- $(ACE_ROOT)/ace/Functor_T.i \
- $(ACE_ROOT)/ace/Functor_T.cpp \
- $(ACE_ROOT)/ace/Hash_Map_Manager.i \
- $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
- $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
- $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
- $(ACE_ROOT)/ace/Strategies_T.i \
- $(ACE_ROOT)/ace/Strategies_T.cpp \
- $(ACE_ROOT)/ace/Service_Repository.h \
- $(ACE_ROOT)/ace/Service_Types.h \
- $(ACE_ROOT)/ace/Service_Types.i \
- $(ACE_ROOT)/ace/Service_Repository.i \
- $(ACE_ROOT)/ace/WFMO_Reactor.h \
- $(ACE_ROOT)/ace/WFMO_Reactor.i \
- $(ACE_ROOT)/ace/Strategies.i \
- $(ACE_ROOT)/ace/Message_Queue.i \
- $(ACE_ROOT)/ace/Task_T.i \
- $(ACE_ROOT)/ace/Task_T.cpp \
- $(ACE_ROOT)/ace/Module.h \
- $(ACE_ROOT)/ace/Module.i \
- $(ACE_ROOT)/ace/Module.cpp \
- $(ACE_ROOT)/ace/Stream_Modules.h \
- $(ACE_ROOT)/ace/Stream_Modules.i \
- $(ACE_ROOT)/ace/Stream_Modules.cpp \
- $(ACE_ROOT)/ace/Timer_Heap_T.h \
- $(ACE_ROOT)/ace/Timer_Heap_T.cpp \
- $(ACE_ROOT)/ace/Timer_Queue_Adapters.h \
- $(ACE_ROOT)/ace/Timer_Queue_Adapters.i \
- $(ACE_ROOT)/ace/Timer_Queue_Adapters.cpp \
- Driver.cpp
-.obj/main_async.o .obj/main_async.so .shobj/main_async.o .shobj/main_async.so: main_async.cpp \
- $(ACE_ROOT)/ace/Auto_Ptr.h \
- $(ACE_ROOT)/ace/ACE.h \
- $(ACE_ROOT)/ace/OS.h \
- $(ACE_ROOT)/ace/inc_user_config.h \
- $(ACE_ROOT)/ace/streams.h \
- $(ACE_ROOT)/ace/Basic_Types.h \
- $(ACE_ROOT)/ace/Basic_Types.i \
- $(ACE_ROOT)/ace/Trace.h \
- $(ACE_ROOT)/ace/OS.i \
- $(ACE_ROOT)/ace/Log_Msg.h \
- $(ACE_ROOT)/ace/Log_Record.h \
- $(ACE_ROOT)/ace/ACE.i \
- $(ACE_ROOT)/ace/Log_Priority.h \
- $(ACE_ROOT)/ace/Log_Record.i \
- $(ACE_ROOT)/ace/Auto_Ptr.i \
- $(ACE_ROOT)/ace/Auto_Ptr.cpp \
- Driver.h \
- $(ACE_ROOT)/ace/Task.h \
- $(ACE_ROOT)/ace/Service_Object.h \
- $(ACE_ROOT)/ace/Shared_Object.h \
- $(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/Synch_T.cpp \
- $(ACE_ROOT)/ace/Containers.h \
- $(ACE_ROOT)/ace/Malloc_Base.h \
- $(ACE_ROOT)/ace/Containers.i \
- $(ACE_ROOT)/ace/Containers_T.h \
- $(ACE_ROOT)/ace/Containers_T.i \
- $(ACE_ROOT)/ace/Containers_T.cpp \
- $(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/Free_List.cpp \
- $(ACE_ROOT)/ace/Malloc_T.i \
- $(ACE_ROOT)/ace/Malloc_T.cpp \
- $(ACE_ROOT)/ace/Memory_Pool.h \
- $(ACE_ROOT)/ace/Signal.h \
- $(ACE_ROOT)/ace/Signal.i \
- $(ACE_ROOT)/ace/Object_Manager.h \
- $(ACE_ROOT)/ace/Object_Manager.i \
- $(ACE_ROOT)/ace/Managed_Object.h \
- $(ACE_ROOT)/ace/Managed_Object.i \
- $(ACE_ROOT)/ace/Managed_Object.cpp \
- $(ACE_ROOT)/ace/Mem_Map.h \
- $(ACE_ROOT)/ace/Mem_Map.i \
- $(ACE_ROOT)/ace/Memory_Pool.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/Message_Block.i \
- $(ACE_ROOT)/ace/Message_Block_T.h \
- $(ACE_ROOT)/ace/Message_Block_T.i \
- $(ACE_ROOT)/ace/Message_Block_T.cpp \
- $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
- $(ACE_ROOT)/ace/Message_Queue_T.h \
- $(ACE_ROOT)/ace/Message_Queue_T.i \
- $(ACE_ROOT)/ace/Message_Queue_T.cpp \
- $(ACE_ROOT)/ace/Strategies.h \
- $(ACE_ROOT)/ace/Strategies_T.h \
- $(ACE_ROOT)/ace/Service_Config.h \
- $(ACE_ROOT)/ace/SString.h \
- $(ACE_ROOT)/ace/SString.i \
- $(ACE_ROOT)/ace/Service_Config.i \
- $(ACE_ROOT)/ace/Reactor.h \
- $(ACE_ROOT)/ace/Handle_Set.h \
- $(ACE_ROOT)/ace/Handle_Set.i \
- $(ACE_ROOT)/ace/Timer_Queue.h \
- $(ACE_ROOT)/ace/Timer_Queue_T.h \
- $(ACE_ROOT)/ace/Timer_Queue_T.i \
- $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
- $(ACE_ROOT)/ace/Reactor.i \
- $(ACE_ROOT)/ace/Reactor_Impl.h \
- $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
- $(ACE_ROOT)/ace/Synch_Options.h \
- $(ACE_ROOT)/ace/Synch_Options.i \
- $(ACE_ROOT)/ace/Hash_Map_Manager.h \
- $(ACE_ROOT)/ace/Functor.h \
- $(ACE_ROOT)/ace/Functor.i \
- $(ACE_ROOT)/ace/Functor_T.h \
- $(ACE_ROOT)/ace/Functor_T.i \
- $(ACE_ROOT)/ace/Functor_T.cpp \
- $(ACE_ROOT)/ace/Hash_Map_Manager.i \
- $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
- $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
- $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
- $(ACE_ROOT)/ace/Strategies_T.i \
- $(ACE_ROOT)/ace/Strategies_T.cpp \
- $(ACE_ROOT)/ace/Service_Repository.h \
- $(ACE_ROOT)/ace/Service_Types.h \
- $(ACE_ROOT)/ace/Service_Types.i \
- $(ACE_ROOT)/ace/Service_Repository.i \
- $(ACE_ROOT)/ace/WFMO_Reactor.h \
- $(ACE_ROOT)/ace/WFMO_Reactor.i \
- $(ACE_ROOT)/ace/Strategies.i \
- $(ACE_ROOT)/ace/Message_Queue.i \
- $(ACE_ROOT)/ace/Task_T.i \
- $(ACE_ROOT)/ace/Task_T.cpp \
- $(ACE_ROOT)/ace/Module.h \
- $(ACE_ROOT)/ace/Module.i \
- $(ACE_ROOT)/ace/Module.cpp \
- $(ACE_ROOT)/ace/Stream_Modules.h \
- $(ACE_ROOT)/ace/Stream_Modules.i \
- $(ACE_ROOT)/ace/Stream_Modules.cpp \
- $(ACE_ROOT)/ace/Timer_Heap_T.h \
- $(ACE_ROOT)/ace/Timer_Heap_T.cpp \
- $(ACE_ROOT)/ace/Timer_Queue_Adapters.h \
- $(ACE_ROOT)/ace/Timer_Queue_Adapters.i \
- $(ACE_ROOT)/ace/Timer_Queue_Adapters.cpp \
- Driver.cpp Async_Timer_Queue_Test.h \
- $(ACE_ROOT)/ace/Timer_Heap.h
-.obj/main_reactor.o .obj/main_reactor.so .shobj/main_reactor.o .shobj/main_reactor.so: main_reactor.cpp \
- $(ACE_ROOT)/ace/Auto_Ptr.h \
- $(ACE_ROOT)/ace/ACE.h \
- $(ACE_ROOT)/ace/OS.h \
- $(ACE_ROOT)/ace/inc_user_config.h \
- $(ACE_ROOT)/ace/streams.h \
- $(ACE_ROOT)/ace/Basic_Types.h \
- $(ACE_ROOT)/ace/Basic_Types.i \
- $(ACE_ROOT)/ace/Trace.h \
- $(ACE_ROOT)/ace/OS.i \
- $(ACE_ROOT)/ace/Log_Msg.h \
- $(ACE_ROOT)/ace/Log_Record.h \
- $(ACE_ROOT)/ace/ACE.i \
- $(ACE_ROOT)/ace/Log_Priority.h \
- $(ACE_ROOT)/ace/Log_Record.i \
- $(ACE_ROOT)/ace/Auto_Ptr.i \
- $(ACE_ROOT)/ace/Auto_Ptr.cpp \
- Driver.h \
- $(ACE_ROOT)/ace/Task.h \
- $(ACE_ROOT)/ace/Service_Object.h \
- $(ACE_ROOT)/ace/Shared_Object.h \
- $(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/Synch_T.cpp \
- $(ACE_ROOT)/ace/Containers.h \
- $(ACE_ROOT)/ace/Malloc_Base.h \
- $(ACE_ROOT)/ace/Containers.i \
- $(ACE_ROOT)/ace/Containers_T.h \
- $(ACE_ROOT)/ace/Containers_T.i \
- $(ACE_ROOT)/ace/Containers_T.cpp \
- $(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/Free_List.cpp \
- $(ACE_ROOT)/ace/Malloc_T.i \
- $(ACE_ROOT)/ace/Malloc_T.cpp \
- $(ACE_ROOT)/ace/Memory_Pool.h \
- $(ACE_ROOT)/ace/Signal.h \
- $(ACE_ROOT)/ace/Signal.i \
- $(ACE_ROOT)/ace/Object_Manager.h \
- $(ACE_ROOT)/ace/Object_Manager.i \
- $(ACE_ROOT)/ace/Managed_Object.h \
- $(ACE_ROOT)/ace/Managed_Object.i \
- $(ACE_ROOT)/ace/Managed_Object.cpp \
- $(ACE_ROOT)/ace/Mem_Map.h \
- $(ACE_ROOT)/ace/Mem_Map.i \
- $(ACE_ROOT)/ace/Memory_Pool.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/Message_Block.i \
- $(ACE_ROOT)/ace/Message_Block_T.h \
- $(ACE_ROOT)/ace/Message_Block_T.i \
- $(ACE_ROOT)/ace/Message_Block_T.cpp \
- $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
- $(ACE_ROOT)/ace/Message_Queue_T.h \
- $(ACE_ROOT)/ace/Message_Queue_T.i \
- $(ACE_ROOT)/ace/Message_Queue_T.cpp \
- $(ACE_ROOT)/ace/Strategies.h \
- $(ACE_ROOT)/ace/Strategies_T.h \
- $(ACE_ROOT)/ace/Service_Config.h \
- $(ACE_ROOT)/ace/SString.h \
- $(ACE_ROOT)/ace/SString.i \
- $(ACE_ROOT)/ace/Service_Config.i \
- $(ACE_ROOT)/ace/Reactor.h \
- $(ACE_ROOT)/ace/Handle_Set.h \
- $(ACE_ROOT)/ace/Handle_Set.i \
- $(ACE_ROOT)/ace/Timer_Queue.h \
- $(ACE_ROOT)/ace/Timer_Queue_T.h \
- $(ACE_ROOT)/ace/Timer_Queue_T.i \
- $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
- $(ACE_ROOT)/ace/Reactor.i \
- $(ACE_ROOT)/ace/Reactor_Impl.h \
- $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
- $(ACE_ROOT)/ace/Synch_Options.h \
- $(ACE_ROOT)/ace/Synch_Options.i \
- $(ACE_ROOT)/ace/Hash_Map_Manager.h \
- $(ACE_ROOT)/ace/Functor.h \
- $(ACE_ROOT)/ace/Functor.i \
- $(ACE_ROOT)/ace/Functor_T.h \
- $(ACE_ROOT)/ace/Functor_T.i \
- $(ACE_ROOT)/ace/Functor_T.cpp \
- $(ACE_ROOT)/ace/Hash_Map_Manager.i \
- $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
- $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
- $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
- $(ACE_ROOT)/ace/Strategies_T.i \
- $(ACE_ROOT)/ace/Strategies_T.cpp \
- $(ACE_ROOT)/ace/Service_Repository.h \
- $(ACE_ROOT)/ace/Service_Types.h \
- $(ACE_ROOT)/ace/Service_Types.i \
- $(ACE_ROOT)/ace/Service_Repository.i \
- $(ACE_ROOT)/ace/WFMO_Reactor.h \
- $(ACE_ROOT)/ace/WFMO_Reactor.i \
- $(ACE_ROOT)/ace/Strategies.i \
- $(ACE_ROOT)/ace/Message_Queue.i \
- $(ACE_ROOT)/ace/Task_T.i \
- $(ACE_ROOT)/ace/Task_T.cpp \
- $(ACE_ROOT)/ace/Module.h \
- $(ACE_ROOT)/ace/Module.i \
- $(ACE_ROOT)/ace/Module.cpp \
- $(ACE_ROOT)/ace/Stream_Modules.h \
- $(ACE_ROOT)/ace/Stream_Modules.i \
- $(ACE_ROOT)/ace/Stream_Modules.cpp \
- $(ACE_ROOT)/ace/Timer_Heap_T.h \
- $(ACE_ROOT)/ace/Timer_Heap_T.cpp \
- $(ACE_ROOT)/ace/Timer_Queue_Adapters.h \
- $(ACE_ROOT)/ace/Timer_Queue_Adapters.i \
- $(ACE_ROOT)/ace/Timer_Queue_Adapters.cpp \
- Driver.cpp Reactor_Timer_Queue_Test.h \
- $(ACE_ROOT)/ace/Timer_Heap.h
-.obj/main_thread.o .obj/main_thread.so .shobj/main_thread.o .shobj/main_thread.so: main_thread.cpp \
- $(ACE_ROOT)/ace/Auto_Ptr.h \
- $(ACE_ROOT)/ace/ACE.h \
- $(ACE_ROOT)/ace/OS.h \
- $(ACE_ROOT)/ace/inc_user_config.h \
- $(ACE_ROOT)/ace/streams.h \
- $(ACE_ROOT)/ace/Basic_Types.h \
- $(ACE_ROOT)/ace/Basic_Types.i \
- $(ACE_ROOT)/ace/Trace.h \
- $(ACE_ROOT)/ace/OS.i \
- $(ACE_ROOT)/ace/Log_Msg.h \
- $(ACE_ROOT)/ace/Log_Record.h \
- $(ACE_ROOT)/ace/ACE.i \
- $(ACE_ROOT)/ace/Log_Priority.h \
- $(ACE_ROOT)/ace/Log_Record.i \
- $(ACE_ROOT)/ace/Auto_Ptr.i \
- $(ACE_ROOT)/ace/Auto_Ptr.cpp \
- Driver.h \
- $(ACE_ROOT)/ace/Task.h \
- $(ACE_ROOT)/ace/Service_Object.h \
- $(ACE_ROOT)/ace/Shared_Object.h \
- $(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/Synch_T.cpp \
- $(ACE_ROOT)/ace/Containers.h \
- $(ACE_ROOT)/ace/Malloc_Base.h \
- $(ACE_ROOT)/ace/Containers.i \
- $(ACE_ROOT)/ace/Containers_T.h \
- $(ACE_ROOT)/ace/Containers_T.i \
- $(ACE_ROOT)/ace/Containers_T.cpp \
- $(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/Free_List.cpp \
- $(ACE_ROOT)/ace/Malloc_T.i \
- $(ACE_ROOT)/ace/Malloc_T.cpp \
- $(ACE_ROOT)/ace/Memory_Pool.h \
- $(ACE_ROOT)/ace/Signal.h \
- $(ACE_ROOT)/ace/Signal.i \
- $(ACE_ROOT)/ace/Object_Manager.h \
- $(ACE_ROOT)/ace/Object_Manager.i \
- $(ACE_ROOT)/ace/Managed_Object.h \
- $(ACE_ROOT)/ace/Managed_Object.i \
- $(ACE_ROOT)/ace/Managed_Object.cpp \
- $(ACE_ROOT)/ace/Mem_Map.h \
- $(ACE_ROOT)/ace/Mem_Map.i \
- $(ACE_ROOT)/ace/Memory_Pool.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/Message_Block.i \
- $(ACE_ROOT)/ace/Message_Block_T.h \
- $(ACE_ROOT)/ace/Message_Block_T.i \
- $(ACE_ROOT)/ace/Message_Block_T.cpp \
- $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
- $(ACE_ROOT)/ace/Message_Queue_T.h \
- $(ACE_ROOT)/ace/Message_Queue_T.i \
- $(ACE_ROOT)/ace/Message_Queue_T.cpp \
- $(ACE_ROOT)/ace/Strategies.h \
- $(ACE_ROOT)/ace/Strategies_T.h \
- $(ACE_ROOT)/ace/Service_Config.h \
- $(ACE_ROOT)/ace/SString.h \
- $(ACE_ROOT)/ace/SString.i \
- $(ACE_ROOT)/ace/Service_Config.i \
- $(ACE_ROOT)/ace/Reactor.h \
- $(ACE_ROOT)/ace/Handle_Set.h \
- $(ACE_ROOT)/ace/Handle_Set.i \
- $(ACE_ROOT)/ace/Timer_Queue.h \
- $(ACE_ROOT)/ace/Timer_Queue_T.h \
- $(ACE_ROOT)/ace/Timer_Queue_T.i \
- $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
- $(ACE_ROOT)/ace/Reactor.i \
- $(ACE_ROOT)/ace/Reactor_Impl.h \
- $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
- $(ACE_ROOT)/ace/Synch_Options.h \
- $(ACE_ROOT)/ace/Synch_Options.i \
- $(ACE_ROOT)/ace/Hash_Map_Manager.h \
- $(ACE_ROOT)/ace/Functor.h \
- $(ACE_ROOT)/ace/Functor.i \
- $(ACE_ROOT)/ace/Functor_T.h \
- $(ACE_ROOT)/ace/Functor_T.i \
- $(ACE_ROOT)/ace/Functor_T.cpp \
- $(ACE_ROOT)/ace/Hash_Map_Manager.i \
- $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
- $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
- $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
- $(ACE_ROOT)/ace/Strategies_T.i \
- $(ACE_ROOT)/ace/Strategies_T.cpp \
- $(ACE_ROOT)/ace/Service_Repository.h \
- $(ACE_ROOT)/ace/Service_Types.h \
- $(ACE_ROOT)/ace/Service_Types.i \
- $(ACE_ROOT)/ace/Service_Repository.i \
- $(ACE_ROOT)/ace/WFMO_Reactor.h \
- $(ACE_ROOT)/ace/WFMO_Reactor.i \
- $(ACE_ROOT)/ace/Strategies.i \
- $(ACE_ROOT)/ace/Message_Queue.i \
- $(ACE_ROOT)/ace/Task_T.i \
- $(ACE_ROOT)/ace/Task_T.cpp \
- $(ACE_ROOT)/ace/Module.h \
- $(ACE_ROOT)/ace/Module.i \
- $(ACE_ROOT)/ace/Module.cpp \
- $(ACE_ROOT)/ace/Stream_Modules.h \
- $(ACE_ROOT)/ace/Stream_Modules.i \
- $(ACE_ROOT)/ace/Stream_Modules.cpp \
- $(ACE_ROOT)/ace/Timer_Heap_T.h \
- $(ACE_ROOT)/ace/Timer_Heap_T.cpp \
- $(ACE_ROOT)/ace/Timer_Queue_Adapters.h \
- $(ACE_ROOT)/ace/Timer_Queue_Adapters.i \
- $(ACE_ROOT)/ace/Timer_Queue_Adapters.cpp \
- Driver.cpp Thread_Timer_Queue_Test.h
-
-# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/examples/Timer_Queue/README b/examples/Timer_Queue/README
deleted file mode 100644
index 3cf6ec1b75b..00000000000
--- a/examples/Timer_Queue/README
+++ /dev/null
@@ -1,26 +0,0 @@
-This directory contains several examples that illustrate how to use
-various concurrency mechanisms to schedule and handle timer-based
-events. All programs are interactive and utilize a common timer queue
-test framework. You can schedule or cancel time events and list all
-the timers that are waiting to be triggered.
-
-The tests include:
-
-Reactor_Timer_Queue_Test:
--------------------------
-
-This example shows how to use ACE_Reactor as the timer queue
-management mechanism.
-
-Thread_Timer_Queue_Test:
-------------------------
-
-This example shows how to use threads as the mechanism to generate
-timer queue events.
-
-Async_Timer_Queue_Test:
------------------------
-
-This example shows how to use singals as the mechanism to generate
-timer queue events. It doesn't work on NT because of NT's limited
-signal mechanism, i.e., no support for SIGALRM.
diff --git a/examples/Timer_Queue/Reactor_Timer_Queue_Test.cpp b/examples/Timer_Queue/Reactor_Timer_Queue_Test.cpp
deleted file mode 100644
index 06d3a643091..00000000000
--- a/examples/Timer_Queue/Reactor_Timer_Queue_Test.cpp
+++ /dev/null
@@ -1,230 +0,0 @@
-// $Id$
-
-// ============================================================================
-// = LIBRARY
-// examples
-//
-// = FILENAME
-// Reactor_Timer_Queue_Test
-//
-// = DESCRIPTION
-// This example tests the timer queue mechanism of ACE_Reactor.
-//
-// = AUTHOR
-// Nanbor Wang <nw1@cs.wustl.edu> and
-// Sergio Flores-Gaitan <sergio@cs.wustl.edu>
-//
-// ============================================================================
-
-#include "ace/Thread_Manager.h"
-#include "ace/Select_Reactor.h"
-#include "ace/Reactor.h"
-#include "ace/Timer_Heap.h"
-
-#include "Driver.h"
-#include "Reactor_Timer_Queue_Test.h"
-
-#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
-template class Timer_Queue_Test_Driver <ACE_Timer_Heap, Input_Handler, Input_Handler::ACTION>;
-template class Command<Input_Handler, Input_Handler::ACTION>;
-#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
-#pragma instantiate Timer_Queue_Test_Driver <ACE_Timer_Heap, Input_Handler, Input_Handler::ACTION>
-#pragma instantiate Command<Input_Handler, Input_Handler::ACTION>
-#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
-
-ACE_RCSID(Timer_Queue, Reactor_Timer_Queue_Test, "$Id$")
-
-void
-Reactor_Timer_Handler::set_timer_id (long tid)
-{
- this->tid_ = tid;
-}
-
-int
-Reactor_Timer_Handler::handle_timeout (const ACE_Time_Value &tv,
- const void *)
-{
- // Macro to avoid "warning: unused parameter" type warning.
- ACE_UNUSED_ARG (tv);
-
- ACE_Time_Value txv = ACE_OS::gettimeofday ();
- ACE_DEBUG ((LM_DEBUG,
- "\nTimer #%d fired at %d.%06d (%T)!\n",
- this->tid_,
- txv.sec (),
- txv.usec ()));
- delete this;
-
- return 0;
-}
-
-Input_Handler::Input_Handler (ACE_Timer_Queue *tq,
- Reactor_Timer_Queue_Test_Driver &timer_queue_driver)
- : done_ (0),
- driver_ (timer_queue_driver)
-{
- this->tq_ = tq;
-}
-
-int
-Input_Handler::done (void)
-{
- return this->done_;
-}
-
-int
-Input_Handler::schedule_timer (void *argument)
-{
- int delay = *(int *) argument;
- Reactor_Timer_Handler *th;
- long tid;
-
- th = new Reactor_Timer_Handler;
- if (th != 0)
- {
- tid = this->reactor ()->schedule_timer (th,
- 0,
- ACE_Time_Value (0, delay));
- if (tid == -1)
- ACE_DEBUG ((LM_DEBUG,
- "Unable to schedule timer\n"));
- else
- {
- ACE_DEBUG ((LM_DEBUG,
- "Timer #%d schedule to fire after %d usec from now.\n",
- tid,
- delay));
- th->set_timer_id (tid);
- }
- }
- else
- ACE_ERROR_RETURN ((LM_ERROR,
- "not enough memory?\n"),
- -1);
- return tid;
-}
-
-int
-Input_Handler::cancel_timer (void *argument)
-{
- int id = *(int *) argument;
- return this->reactor ()->cancel_timer (id);
-}
-
-int
-Input_Handler::shutdown_timer (void *argument)
-{
- // Macro to avoid "warning: unused parameter" type warning.
- ACE_UNUSED_ARG (argument);
-
- this->done_ = 1;
- ACE_DEBUG ((LM_DEBUG,
- "Shutting down event loop\n"));
- return -1;
-}
-
-int
-Input_Handler::list_timer (void *argument)
-{
- // Macro to avoid "warning: unused parameter" type warning.
- ACE_UNUSED_ARG (argument);
-
- ACE_Timer_Queue_Iterator &iter = this->tq_->iter ();
- ACE_DEBUG ((LM_DEBUG,
- "\n\nTimers in queue:\n"));
-
- for (; !iter.isdone (); iter.next ())
- {
- ACE_Timer_Node *tn = iter.item ();
- ACE_DEBUG ((LM_DEBUG, "Timer #%d: %d.%06d\n",
- tn->get_timer_id (),
- tn->get_timer_value ().sec (),
- tn->get_timer_value ().usec ()));
- }
- return 0;
-}
-
-int
-Input_Handler::handle_input (ACE_HANDLE)
-{
- return driver_.get_next_request ();
-}
-
-Reactor_Timer_Queue_Test_Driver::Reactor_Timer_Queue_Test_Driver (void)
- : thandler_ (&timer_queue_, *this)
-{
-}
-
-Reactor_Timer_Queue_Test_Driver::~Reactor_Timer_Queue_Test_Driver (void)
-{
-}
-
-int
-Reactor_Timer_Queue_Test_Driver::display_menu (void)
-{
- static char menu[] =
- "\n*****\n"
- "1) Schedule timer <usec>\n"
- "2) Cancel timer <id>\n"
- "3) List all timers\n"
- "4) Shutdown program\n"
- "Enter selection:";
-
- ACE_DEBUG ((LM_DEBUG,
- "%s",
- menu));
- return 0;
-}
-
-int
-Reactor_Timer_Queue_Test_Driver::init (void)
-{
- typedef Command<Input_Handler, Input_Handler::ACTION> CMD;
-
- // initialize <Command>s with their corresponding <Input_Handler> methods.
- ACE_NEW_RETURN (schedule_cmd_,
- CMD (thandler_, &Input_Handler::schedule_timer),
- -1);
-
- ACE_NEW_RETURN (cancel_cmd_,
- CMD (thandler_, &Input_Handler::cancel_timer),
- -1);
-
- ACE_NEW_RETURN (list_cmd_,
- CMD (thandler_, &Input_Handler::list_timer),
- -1);
-
- ACE_NEW_RETURN (shutdown_cmd_,
- CMD (thandler_, &Input_Handler::shutdown_timer),
- -1);
-
- ACE_Reactor::instance ()->set_timer_queue (&timer_queue_);
-
- ACE_Event_Handler::register_stdin_handler (&thandler_,
- ACE_Reactor::instance (),
- ACE_Thread_Manager::instance ());
-
- // print the menu of options.
- this->display_menu ();
-
- return 0;
-}
-
-// run test was overrun due to the reactive way of handling input.
-
-int
-Reactor_Timer_Queue_Test_Driver::run_test (void)
-{
- ACE_DEBUG ((LM_DEBUG,
- "TIMER TEST STARTED\n"));
-
- this->init ();
-
- // Run until we say stop.
- while (thandler_.done () == 0)
- ACE_Reactor::instance ()->handle_events ();
-
- ACE_DEBUG ((LM_DEBUG,
- "TIMER TEST ENDED\n"));
- return 0;
-}
diff --git a/examples/Timer_Queue/Reactor_Timer_Queue_Test.dsp b/examples/Timer_Queue/Reactor_Timer_Queue_Test.dsp
deleted file mode 100644
index b3d17953d34..00000000000
--- a/examples/Timer_Queue/Reactor_Timer_Queue_Test.dsp
+++ /dev/null
@@ -1,95 +0,0 @@
-# Microsoft Developer Studio Project File - Name="Reactor_Timer_Queue_Test" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=Reactor_Timer_Queue_Test - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "Reactor_Timer_Queue_Test.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "Reactor_Timer_Queue_Test.mak"\
- CFG="Reactor_Timer_Queue_Test - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "Reactor_Timer_Queue_Test - Win32 Release" (based on\
- "Win32 (x86) Console Application")
-!MESSAGE "Reactor_Timer_Queue_Test - Win32 Debug" (based on\
- "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "Reactor_Timer_Queue_Test - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir ""
-# PROP Intermediate_Dir "Release"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\.." /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 ace.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /libpath:"..\..\ace"
-
-!ELSEIF "$(CFG)" == "Reactor_Timer_Queue_Test - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir ""
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\.." /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 aced.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\ace"
-
-!ENDIF
-
-# Begin Target
-
-# Name "Reactor_Timer_Queue_Test - Win32 Release"
-# Name "Reactor_Timer_Queue_Test - Win32 Debug"
-# Begin Source File
-
-SOURCE=.\main_reactor.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\Reactor_Timer_Queue_Test.cpp
-# End Source File
-# End Target
-# End Project
diff --git a/examples/Timer_Queue/Reactor_Timer_Queue_Test.h b/examples/Timer_Queue/Reactor_Timer_Queue_Test.h
deleted file mode 100644
index f80b067d8b1..00000000000
--- a/examples/Timer_Queue/Reactor_Timer_Queue_Test.h
+++ /dev/null
@@ -1,148 +0,0 @@
-/* -*- C++ -*- */
-
-// $Id$
-
-// ============================================================================
-//
-// = LIBRARY
-// examples
-//
-// = FILENAME
-// Reactor_Timer_Queue_Test.h
-//
-// = DESCRIPTION
-// This code is an implementation of a test driver for a reactor based
-// timer queue.
-//
-// = AUTHORS
-// Nanbor Wang <nw1@cs.wustl.edu> and
-// Sergio Flores-Gaitan <sergio@cs.wustl.edu>
-//
-// ============================================================================
-
-#ifndef _REACTOR_TIMER_QUEUE_TEST_H_
-#define _REACTOR_TIMER_QUEUE_TEST_H_
-
-#include "ace/Timer_Heap.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "Driver.h"
-
-class Reactor_Timer_Queue_Test_Driver;
-
-class Input_Handler : public ACE_Event_Handler
-{
- // = TITLE
- // Implements the handler to be called for input events. Also has
- // the logic to handle the different timer queue operations (i.e.,
- // schedule, cancel, list, shutdown).
- //
- // = 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:
- typedef int (Input_Handler::*ACTION) (void *);
-
- Input_Handler (ACE_Timer_Queue *tq,
- Reactor_Timer_Queue_Test_Driver &timer_queue_driver);
- // Sets <done_> flag to 0, <driver_> to <timer_queue_driver> and
- // timer queue <tq_> to <tq>
-
- int handle_input (ACE_HANDLE);
- // Hook method for the <ACE_Reactor> to call whenever there is input
- // ready to be read.
-
- int done (void);
- // returns the value for <done_> that indicates whether we are
- // exiting the program.A value of 0 indicates that we are NOT done,
- // 1 otherwise.
-
- // = Hook methods to be called from <Reactor_Timer_Queue_Test_Driver>
-
- int schedule_timer (void *argument);
- // Schedule a timer. The (void *) will be mapped to the delay
- // parameter for the timer queue schedule method.
-
- int cancel_timer (void *argument);
- // Cancel a timer. The (void *) will be mapped to the ID of the
- // timer beiing cancelled.
-
- int list_timer (void *argument);
- // Dump the timers in the queue. The argument is ignored.
-
- int shutdown_timer (void *argument);
- // Processes the request to exit the timer queue application.
- // argument is ignored.
-
-private:
- ACE_Timer_Queue *tq_;
- // Keep a pointer to the timer queue we are using so we can traverse
- // the queue.
-
- int done_;
- // Flag used to close down program.
-
- Reactor_Timer_Queue_Test_Driver &driver_;
- // Test driver. Used to call hook methods that are common code for
- // all drivers.
-};
-
-class Reactor_Timer_Queue_Test_Driver : public Timer_Queue_Test_Driver <ACE_Timer_Heap, Input_Handler, Input_Handler::ACTION>
-{
- // = TITLE
- // Implements a test driver for a reactive timer queue using
- // <ACE_Reactor>.
- //
- // = DESCRIPTION
- // This class implements the logic to test the reactor
- // implementation of timer queue, using an <ACE_Timer_Heap>.
-public:
- Reactor_Timer_Queue_Test_Driver (void);
- // Sets the input handler <thandler_> with <timer_queue_> from the
- // <Timer_Queue_Test_Driver> class and a reference to "this", so the
- // input handler can call hook methods from the driver. Such
- // methods are the common factored out code from other
- // implementations of timer queues.
-
- virtual ~Reactor_Timer_Queue_Test_Driver (void);
- // Default destructor
-
- virtual int display_menu (void);
- // Prints the menu of options.
-
- virtual int init (void);
- // Sets the timer queue that the REACTOR will use; registers the
- // stdin input handler with the REACTOR and sets the <Command>s that
- // the <Timer_Queue_Test_Driver> will execute().
-
- virtual int run_test (void);
- // Main entry point to the test driver implementation.
-
-private:
- Input_Handler thandler_;
- // This is the stdin handler.
-};
-
-class Reactor_Timer_Handler : public ACE_Event_Handler
-{
- // = TITLE
- // Target of the reactive timeout operation.
-public:
- virtual int handle_timeout (const ACE_Time_Value &tv,
- const void *);
- // Hook method that is called by the reactor when a timer expires.
- // It prints the timer ID and the time it expired.
-
- void set_timer_id (long tid);
- // Sets the timer id for this handler <tid_> to <tid>
-
-private:
- long tid_;
- // timer ID.
-};
-
-#endif /* _REACTOR_TIMER_QUEUE_TEST_H_ */
diff --git a/examples/Timer_Queue/Thread_Timer_Queue_Test.cpp b/examples/Timer_Queue/Thread_Timer_Queue_Test.cpp
deleted file mode 100644
index 93aef7b8b87..00000000000
--- a/examples/Timer_Queue/Thread_Timer_Queue_Test.cpp
+++ /dev/null
@@ -1,312 +0,0 @@
-// $Id$
-
-// ============================================================================
-//
-// = LIBRARY
-// examples
-//
-// = FILENAME
-// Thread_Timer_Queue_Test.cpp
-//
-// = DESCRIPTION
-// This test exercises the <ACE_Thread_Timer_Queue_Adapter>
-// using an <ACE_Timer_Heap>.
-//
-// = AUTHORS
-// Carlos O'Ryan <coryan@cs.wustl.edu> and
-// Douglas C. Schmidt <schmidt@cs.wustl.edu>
-//
-// ============================================================================
-
-#include "ace/Task.h"
-#include "ace/Timer_Heap_T.h"
-#include "ace/Timer_Queue_Adapters.h"
-
-#include "Thread_Timer_Queue_Test.h"
-
-#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
-template class ACE_Thread_Timer_Queue_Adapter<Timer_Heap>;
-template class Timer_Queue_Test_Driver<Thread_Timer_Queue,
- Input_Task,
- Input_Task::ACTION>;
-template class Command<Input_Task, Input_Task::ACTION>;
-#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
-#pragma instantiate ACE_Thread_Timer_Queue_Adapter<Timer_Heap>
-#pragma instantiate Timer_Queue_Test_Driver<Thread_Timer_Queue, \
- Input_Task, \
- Input_Task::ACTION>
-#pragma instantiate Command<Input_Task, Input_Task::ACTION>
-#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
-
-#if defined (ACE_MT_SAFE) && (ACE_MT_SAFE != 0)
-// These templates will specialized in libACE.* if the platforms does
-// not define ACE_MT_SAFE.
-
-#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
-template class ACE_Thread_Condition<ACE_Thread_Mutex>;
-template class ACE_Condition<ACE_Thread_Mutex>;
-template class ACE_Event_Handler_Handle_Timeout_Upcall<ACE_Null_Mutex>;
-template class ACE_Timer_Queue_T<ACE_Event_Handler *, ACE_Event_Handler_Handle_Timeout_Upcall<ACE_Null_Mutex>, ACE_Null_Mutex>;
-template class ACE_Timer_Heap_T<ACE_Event_Handler *, ACE_Event_Handler_Handle_Timeout_Upcall<ACE_Null_Mutex>, ACE_Null_Mutex>;
-template class ACE_Timer_Heap_Iterator_T<ACE_Event_Handler *, ACE_Event_Handler_Handle_Timeout_Upcall<ACE_Null_Mutex>, ACE_Null_Mutex>;
-template class ACE_Timer_Queue_Iterator_T<ACE_Event_Handler *, ACE_Event_Handler_Handle_Timeout_Upcall<ACE_Null_Mutex>, ACE_Null_Mutex>;
-#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
-#pragma instantiate ACE_Thread_Condition<ACE_Thread_Mutex>
-#pragma instantiate ACE_Condition<ACE_Thread_Mutex>
-#pragma instantiate ACE_Event_Handler_Handle_Timeout_Upcall<ACE_Null_Mutex>
-#pragma instantiate ACE_Timer_Queue_T<ACE_Event_Handler *, ACE_Event_Handler_Handle_Timeout_Upcall<ACE_Null_Mutex>, ACE_Null_Mutex>
-#pragma instantiate ACE_Timer_Heap_T<ACE_Event_Handler *, ACE_Event_Handler_Handle_Timeout_Upcall<ACE_Null_Mutex>, ACE_Null_Mutex>
-#pragma instantiate ACE_Timer_Heap_Iterator_T<ACE_Event_Handler *, ACE_Event_Handler_Handle_Timeout_Upcall<ACE_Null_Mutex>, ACE_Null_Mutex>
-#pragma instantiate ACE_Timer_Queue_Iterator_T<ACE_Event_Handler *, ACE_Event_Handler_Handle_Timeout_Upcall<ACE_Null_Mutex>, ACE_Null_Mutex>
-#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
-#endif /* ACE_MT_SAFE */
-
-ACE_RCSID(Timer_Queue, Thread_Timer_Queue_Test, "$Id$")
-
-// Administrivia methods...
-Handler::Handler(const ACE_Time_Value &expiration_time)
- : expires_ (expiration_time),
- id_ (0)
-{
-}
-
-Handler::~Handler (void)
-{
-}
-
-void
-Handler::set_id (int id)
-{
- this->id_ = id;
-}
-
-// This is the method invoked when the Timer expires.
-
-int
-Handler::handle_timeout (const ACE_Time_Value &current_time,
- const void *)
-{
- ACE_Time_Value delay = current_time - this->expires_;
-
- // No need to protect this printf is always called from a Async safe
- // point.
- ACE_OS::printf ("\nexpiring timer %d at %u.%07.7u secs\n"
- "\tthere was a %u.%07.7u secs delay\n",
- this->id_,
- current_time.sec (),
- current_time.usec (),
- delay.sec (),
- delay.usec ());
- // Notice this delete is protected.
- delete this;
- return 0;
-}
-
-// The handler was cancelled, so we must delete this.
-
-int
-Handler::cancelled (void)
-{
- delete this;
- return 0;
-}
-
-Input_Task::Input_Task (Thread_Timer_Queue *queue,
- Thread_Timer_Queue_Test_Driver &timer_queue_driver)
- : ACE_Task_Base (ACE_Thread_Manager::instance ()),
- queue_ (queue),
- usecs_ (ACE_ONE_SECOND_IN_USECS),
- driver_ (timer_queue_driver)
-{
-}
-
-// Svc method is called from the thread library to read input from the
-// user.
-
-int
-Input_Task::svc (void)
-{
- for (;;)
- // call back to the driver's implementation on how to read and
- // parse input.
- if (this->driver_.get_next_request () == -1)
- break;
-
- // we are done.
- this->queue_->deactivate ();
- ACE_DEBUG ((LM_DEBUG,
- "terminating input thread\n"));
- return 0;
-}
-
-// schedule a new timer. This method will be called from inside the
-// <Timer_Queue_Test_Driver> class. (see Command pattern)
-
-int
-Input_Task::add_timer (void *argument)
-{
- u_long useconds = *ACE_reinterpret_cast (int *, argument);
- ACE_Time_Value interval (useconds / usecs_,
- useconds % usecs_);
- ACE_Time_Value expire_at = ACE_OS::gettimeofday () + interval;
-
- Handler *h;
-
- ACE_NEW_RETURN (h,
- Handler (expire_at),
- -1);
-
- int id = queue_->schedule (h, 0, expire_at);
-
- if (id == -1)
- ACE_ERROR_RETURN ((LM_ERROR,
- "schedule failed"),
- -1);
-
- // We store the id into the handler, this is only used to produce
- // nicer messages.
- h->set_id (id);
-
- ACE_OS::printf ("scheduling timer %d\n",
- id);
- return 0;
-}
-
-// Cancel a timer. This method will be called from inside the
-// <Timer_Queue_Test_Driver> class. (see Command pattern)
-
-int
-Input_Task::cancel_timer (void *argument)
-{
- return this->queue_->cancel (*ACE_reinterpret_cast (int *,
- argument));
-}
-
-// Lists the timers in the queue. Ignores the argument. This method
-// will be called from inside the <Timer_Queue_Test_Driver> class.
-// (see Command pattern)
-
-int
-Input_Task::list_timer (void *argument)
-{
- // Macro to avoid "warning: unused parameter" type warning.
- ACE_UNUSED_ARG (argument);
-
- // Dump the timer queue contents.
- this->dump ();
-
- return 0;
-}
-
-// Shutdown the timer queue. Return -1 indicates to the
-// <Timer_Queue_Test_Driver> class that we are done.
-
-int
-Input_Task::shutdown_timer (void *argument)
-{
- // Macro to avoid "warning: unused parameter" type warning.
- ACE_UNUSED_ARG (argument);
-
-#if defined (ACE_LACKS_PTHREAD_CANCEL)
- // Cancel the thread timer queue task "voluntarily."
- this->queue_->deactivate ();
-#else
- // Cancel the thread timer queue task "preemptively."
- if (ACE_Thread::cancel (this->queue_->thr_id ()) == -1)
- ACE_ERROR ((LM_ERROR,
- "%p\n",
- "cancel"));
-#endif /* ACE_LACKS_PTHREAD_CANCEL */
-
- // -1 indicates we are shutting down the application.
- return -1;
-}
-
-void
-Input_Task::dump (void)
-{
- ACE_GUARD (ACE_SYNCH_MUTEX, ace_mon, this->queue_->mutex ());
-
- ACE_DEBUG ((LM_DEBUG,
- "begin dumping timer queue\n"));
-
- for (Timer_Heap_Iterator i (this->queue_->timer_queue ());
- i.item () != 0;
- i.next ())
- i.item ()->dump ();
-
- ACE_DEBUG ((LM_DEBUG,
- "end dumping timer queue\n"));
-}
-
-// constructor
-
-Thread_Timer_Queue_Test_Driver::Thread_Timer_Queue_Test_Driver (void)
- : input_task_ (&timer_queue_, *this)
-{
-}
-
-Thread_Timer_Queue_Test_Driver::~Thread_Timer_Queue_Test_Driver (void)
-{
-}
-
-int
-Thread_Timer_Queue_Test_Driver::run_test (void)
-{
- this->init ();
- return 0;
-}
-
-int
-Thread_Timer_Queue_Test_Driver::display_menu (void)
-{
- static char menu[] =
- "Usage:\n"
- "1 <microseconds>: setups a new timer\n"
- "2 <timerid>: removes a timer\n"
- "3 : prints timer queue\n"
- "4 : exit\n";
-
- ACE_DEBUG ((LM_DEBUG,
- "%s",
- menu));
- return 0;
-}
-
-int
-Thread_Timer_Queue_Test_Driver::init (void)
-{
- typedef Command<Input_Task, Input_Task::ACTION> CMD;
-
- // initialize the <Command> objects with their corresponding
- // methods from <Input_Task>
- ACE_NEW_RETURN (schedule_cmd_,
- CMD (input_task_, &Input_Task::add_timer),
- -1);
-
- ACE_NEW_RETURN (cancel_cmd_,
- CMD (input_task_, &Input_Task::cancel_timer),
- -1);
-
- ACE_NEW_RETURN (list_cmd_,
- CMD (input_task_, &Input_Task::list_timer),
- -1);
-
- ACE_NEW_RETURN (shutdown_cmd_,
- CMD (input_task_, &Input_Task::shutdown_timer),
- -1);
-
- if (this->input_task_.activate () == -1)
- ACE_ERROR_RETURN ((LM_ERROR,
- "cannot activate input task"),
- -1);
- else if (this->timer_queue_.activate () == -1)
- ACE_ERROR_RETURN ((LM_ERROR,
- "cannot activate timer queue"),
- -1);
- else if (ACE_Thread_Manager::instance ()->wait () == -1)
- ACE_ERROR_RETURN ((LM_ERROR,
- "wait on Thread_Manager failed"),
- -1);
- return 0;
-}
diff --git a/examples/Timer_Queue/Thread_Timer_Queue_Test.dsp b/examples/Timer_Queue/Thread_Timer_Queue_Test.dsp
deleted file mode 100644
index 2908183f97c..00000000000
--- a/examples/Timer_Queue/Thread_Timer_Queue_Test.dsp
+++ /dev/null
@@ -1,96 +0,0 @@
-# Microsoft Developer Studio Project File - Name="Thread_Timer_Queue_Test" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=Thread_Timer_Queue_Test - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "Thread_Timer_Queue_Test.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "Thread_Timer_Queue_Test.mak"\
- CFG="Thread_Timer_Queue_Test - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "Thread_Timer_Queue_Test - Win32 Release" (based on\
- "Win32 (x86) Console Application")
-!MESSAGE "Thread_Timer_Queue_Test - Win32 Debug" (based on\
- "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "Thread_Timer_Queue_Test - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir ""
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\..\\" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 ace.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /libpath:"..\..\ace\\"
-
-!ELSEIF "$(CFG)" == "Thread_Timer_Queue_Test - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir ""
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\.." /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 aced.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\ace\\"
-
-!ENDIF
-
-# Begin Target
-
-# Name "Thread_Timer_Queue_Test - Win32 Release"
-# Name "Thread_Timer_Queue_Test - Win32 Debug"
-# Begin Source File
-
-SOURCE=.\main_thread.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\Thread_Timer_Queue_Test.cpp
-# End Source File
-# End Target
-# End Project
diff --git a/examples/Timer_Queue/Thread_Timer_Queue_Test.h b/examples/Timer_Queue/Thread_Timer_Queue_Test.h
deleted file mode 100644
index 710b133b1e9..00000000000
--- a/examples/Timer_Queue/Thread_Timer_Queue_Test.h
+++ /dev/null
@@ -1,155 +0,0 @@
-/* -*- C++ -*- */
-
-// $Id$
-
-// ============================================================================
-//
-// = LIBRARY
-// examples
-//
-// = FILENAME
-// Thread_Timer_Queue_Test.h
-//
-// = DESCRIPTION
-// This code exercises the <ACE_Thread_Timer_Queue_Adapter> using
-// an <ACE_Timer_Heap_T>.
-//
-// = AUTHORS
-// Carlos O'Ryan <coryan@cs.wustl.edu> and
-// Sergio Flores-Gaitan <sergio@cs.wustl.edu>
-//
-// ============================================================================
-
-#ifndef _THREAD_TIMER_QUEUE_TEST_H_
-#define _THREAD_TIMER_QUEUE_TEST_H_
-
-#include "ace/Task.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "ace/Timer_Heap_T.h"
-#include "ace/Timer_Queue_Adapters.h"
-#include "Driver.h"
-
-// These typedefs ensure that we use the minimal amount of locking
-// necessary.
-typedef ACE_Event_Handler_Handle_Timeout_Upcall<ACE_Null_Mutex>
- Upcall;
-typedef ACE_Timer_Heap_T<ACE_Event_Handler *,
- Upcall,
- ACE_Null_Mutex>
- Timer_Heap;
-typedef ACE_Timer_Heap_Iterator_T<ACE_Event_Handler *,
- Upcall,
- ACE_Null_Mutex>
- Timer_Heap_Iterator;
-typedef ACE_Thread_Timer_Queue_Adapter<Timer_Heap>
- Thread_Timer_Queue;
-
-// Forward declaration.
-class Thread_Timer_Queue_Test_Driver;
-
-class Input_Task : public ACE_Task_Base
-{
- // = TITLE
- // 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.
-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);
- // This method runs the event loop in the new thread.
-
- // = Some helper methods.
-
- int add_timer (void *);
- // Add a new timer to expire in <seconds> more.
-
- int cancel_timer (void *);
- // Cancel timer <id>.
-
- int list_timer (void *);
- // List the current scheduled timers.
-
- int shutdown_timer (void *);
- // Shutdown task.
-
- void dump (void);
- // Dump the state of the timer queue.
-
-private:
- Thread_Timer_Queue *queue_;
- // The timer queue implementation.
-
- const int usecs_;
- // How many micro seconds are in a second.
-
- Thread_Timer_Queue_Test_Driver &driver_;
- // The thread timer queue test driver.
-};
-
-class Thread_Timer_Queue_Test_Driver : public Timer_Queue_Test_Driver <Thread_Timer_Queue, Input_Task, Input_Task::ACTION>
-{
- // = TITLE
- // Implements an example application that exercises
- // <Thread_Timer_Queue> timer queue.
- //
- // = 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);
- ~Thread_Timer_Queue_Test_Driver (void);
-
- virtual int display_menu (void);
- virtual int init (void);
- virtual int run_test (void);
-
-private:
- Input_Task input_task_;
- // Subclassed from ACE_Task.
-};
-
-class Handler : public ACE_Event_Handler
-{
- // = TITLE
- // Event handler for the timer queue timeout events.
- //
- // = DESCRIPTION
- // The <handle_timeout> hook method prints out the current time,
- // prints the time when this timer expired and deletes "this".
-public:
- Handler (const ACE_Time_Value &expiration_time);
- ~Handler (void);
-
- void set_id (int id);
- // Store an "id" for the Handler, which is only use to print better
- // messages.
-
- virtual int handle_timeout (const ACE_Time_Value &current_time,
- const void *arg);
- // Call back hook.
- virtual int cancelled (void);
-
-private:
- ACE_Time_Value expires_;
- // Store the expected time of expiration, it is used to print a nice
- // message saying how much delay was at the actual expiration time.
-
- int id_;
- // Store an "id" for the Handler, which is only use to print better
- // messages.
-};
-
-#endif /* _THREAD_TIMER_QUEUE_TEST_H_ */
diff --git a/examples/Timer_Queue/Timer_Queue.dsw b/examples/Timer_Queue/Timer_Queue.dsw
deleted file mode 100644
index 4e46db747d4..00000000000
--- a/examples/Timer_Queue/Timer_Queue.dsw
+++ /dev/null
@@ -1,41 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "Reactor_Timer_Queue_Test"=.\Reactor_Timer_Queue_Test.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "Thread_Timer_Queue_Test"=.\Thread_Timer_Queue_Test.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/examples/Timer_Queue/main_async.cpp b/examples/Timer_Queue/main_async.cpp
deleted file mode 100644
index eb9c33881e9..00000000000
--- a/examples/Timer_Queue/main_async.cpp
+++ /dev/null
@@ -1,53 +0,0 @@
-// $Id$
-
-// ============================================================================
-//
-// = LIBRARY
-// examples
-//
-// = FILENAME
-// main_async.cpp
-//
-// = DESCRIPTION
-// Implements an asynchronous timer queue.
-// This code exercises the Timer_Queue_Test_Driver class using
-// signals as an asynchronous mechanism to dispatch events.
-//
-// = AUTHORS
-// Douglas Schmidt <schmidt@cs.wustl.edu> &&
-// Sergio Flores-Gaitan <sergio@cs.wustl.edu>
-//
-// ============================================================================
-
-#include "ace/Auto_Ptr.h"
-#include "Driver.h"
-#include "Async_Timer_Queue_Test.h"
-
-ACE_RCSID(Timer_Queue, main_async, "$Id$")
-
-typedef Timer_Queue_Test_Driver<Async_Timer_Queue *,
- Async_Timer_Queue,
- Async_Timer_Queue::ACTION>
- ASYNC_TIMER_QUEUE_TEST_DRIVER;
-
-int
-main (int, char *[])
-{
- ASYNC_TIMER_QUEUE_TEST_DRIVER *tqtd;
- ACE_NEW_RETURN (tqtd, Async_Timer_Queue_Test_Driver, -1);
- // Auto ptr ensures that the driver memory is released
- // automatically.
- auto_ptr <ASYNC_TIMER_QUEUE_TEST_DRIVER> driver (tqtd);
-
- return driver->run_test ();
-}
-
-#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
-template class auto_ptr <ASYNC_TIMER_QUEUE_TEST_DRIVER>;
-template class ACE_Auto_Basic_Ptr <ASYNC_TIMER_QUEUE_TEST_DRIVER>;
-#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
-#pragma instantiate auto_ptr <ASYNC_TIMER_QUEUE_TEST_DRIVER>
-#pragma instantiate ACE_Auto_Basic_Ptr <ASYNC_TIMER_QUEUE_TEST_DRIVER>
-#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
-
-
diff --git a/examples/Timer_Queue/main_reactor.cpp b/examples/Timer_Queue/main_reactor.cpp
deleted file mode 100644
index 2c351900a8b..00000000000
--- a/examples/Timer_Queue/main_reactor.cpp
+++ /dev/null
@@ -1,57 +0,0 @@
-// $Id$
-
-// ============================================================================
-//
-// = LIBRARY
-// examples
-//
-// = FILENAME
-// main_reactor.cpp
-//
-// = DESCRIPTION
-// Implements an reactive timer queue.
-// This code exercises the Timer_Queue_Test_Driver class using
-// a reactor.
-//
-// = AUTHORS
-// Douglas Schmidt <schmidt@cs.wustl.edu> &&
-// Sergio Flores-Gaitan <sergio@cs.wustl.edu>
-//
-// ============================================================================
-
-#include "ace/Auto_Ptr.h"
-#include "Driver.h"
-#include "Reactor_Timer_Queue_Test.h"
-
-ACE_RCSID(Timer_Queue, main_reactor, "$Id$")
-
-typedef Timer_Queue_Test_Driver <ACE_Timer_Heap,
- Input_Handler,
- Input_Handler::ACTION>
- REACTOR_TIMER_QUEUE_TEST_DRIVER;
-
-int
-main (int, char *[])
-{
- REACTOR_TIMER_QUEUE_TEST_DRIVER *tqtd;
- ACE_NEW_RETURN (tqtd, Reactor_Timer_Queue_Test_Driver, -1);
- // Auto ptr ensures that the driver memory is released
- // automatically.
- auto_ptr <REACTOR_TIMER_QUEUE_TEST_DRIVER> driver (tqtd);
-
- return driver->run_test ();
-}
-
-#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
-template class auto_ptr <REACTOR_TIMER_QUEUE_TEST_DRIVER>;
-template class ACE_Auto_Basic_Ptr <REACTOR_TIMER_QUEUE_TEST_DRIVER>;
-template class Timer_Queue_Test_Driver<ACE_Timer_Heap *,
- Input_Handler,
- Input_Handler::ACTION>;
-#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
-#pragma instantiate auto_ptr <REACTOR_TIMER_QUEUE_TEST_DRIVER>
-#pragma instantiate ACE_Auto_Basic_Ptr <REACTOR_TIMER_QUEUE_TEST_DRIVER>
-#pragma instantiate Timer_Queue_Test_Driver<ACE_Timer_Heap *, \
- Input_Handler, \
- Input_Handler::ACTION>
-#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/examples/Timer_Queue/main_thread.cpp b/examples/Timer_Queue/main_thread.cpp
deleted file mode 100644
index f83db59169e..00000000000
--- a/examples/Timer_Queue/main_thread.cpp
+++ /dev/null
@@ -1,52 +0,0 @@
-// $Id$
-
-// ============================================================================
-//
-// = LIBRARY
-// examples
-//
-// = FILENAME
-// main_thread.cpp
-//
-// = DESCRIPTION
-// Implements an threaded timer queue.
-// This code exercises the Timer_Queue_Test_Driver class using
-// threads.
-//
-// = AUTHORS
-// Douglas Schmidt <schmidt@cs.wustl.edu> &&
-// Sergio Flores-Gaitan <sergio@cs.wustl.edu>
-//
-// ============================================================================
-
-#include "ace/Auto_Ptr.h"
-#include "Driver.h"
-#include "Thread_Timer_Queue_Test.h"
-
-ACE_RCSID(Timer_Queue, main_thread, "$Id$")
-
-typedef Timer_Queue_Test_Driver<Thread_Timer_Queue,
- Input_Task,
- Input_Task::ACTION>
- THREAD_TIMER_QUEUE_TEST_DRIVER;
-
-int
-main (int, char *[])
-{
- // Auto ptr ensures that the driver memory is released
- // automatically.
- THREAD_TIMER_QUEUE_TEST_DRIVER *tqtd;
- ACE_NEW_RETURN (tqtd, Thread_Timer_Queue_Test_Driver, -1);
-
- auto_ptr <THREAD_TIMER_QUEUE_TEST_DRIVER> driver (tqtd);
-
- return driver->run_test ();
-}
-
-#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
-template class auto_ptr <THREAD_TIMER_QUEUE_TEST_DRIVER>;
-template class ACE_Auto_Basic_Ptr <THREAD_TIMER_QUEUE_TEST_DRIVER>;
-#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
-#pragma instantiate auto_ptr <THREAD_TIMER_QUEUE_TEST_DRIVER>
-#pragma instantiate ACE_Auto_Basic_Ptr <THREAD_TIMER_QUEUE_TEST_DRIVER>
-#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */