Changes to attempt to silence bcc64x
[ACE_TAO.git] / TAO / orbsvcs / performance-tests / RTEvent / lib / Send_Task.h
blob1a81ac7064e28a88d47047c9161663c595aae5fa
1 /**
2 * @file Send_Task.h
4 * @author Carlos O'Ryan <coryan@uci.edu>
5 */
7 #ifndef TAO_PERF_RTEC_SEND_TASK_H
8 #define TAO_PERF_RTEC_SEND_TASK_H
10 #include "Supplier.h"
11 #include "ace/Task.h"
12 #include "ace/Synch_Traits.h"
14 #if !defined (ACE_LACKS_PRAGMA_ONCE)
15 # pragma once
16 #endif /* ACE_LACKS_PRAGMA_ONCE */
18 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
19 class ACE_Barrier;
20 ACE_END_VERSIONED_NAMESPACE_DECL
22 /**
23 * @class Send_Task
25 * @brief Implement a simple ACE_Task to send the events
27 class TAO_RTEC_Perf_Export Send_Task : public ACE_Task_Base
29 public:
30 /// Constructor
31 Send_Task ();
33 /// This is for compilers that are a PITA complaining that we are
34 /// hiding something.
35 virtual int init (int argc, ACE_TCHAR *argv[])
37 return ACE_Task_Base::init (argc, argv);
40 void init (int iterations,
41 int period_in_usecs,
42 int startup_sleep,
43 int event_type,
44 int event_source,
45 Supplier *supplier,
46 ACE_Barrier *barrier);
48 /// Run the experiment
49 int svc ();
51 /// Stop the experiment
52 void stop ();
54 private:
55 int iterations_;
57 int period_in_usecs_;
59 int startup_sleep_;
61 int event_type_;
63 int event_source_;
65 PortableServer::Servant_var<Supplier> supplier_;
67 ACE_Barrier *barrier_;
69 TAO_SYNCH_MUTEX mutex_;
70 int stop_;
74 #endif /* TAO_PERF_RTEC_SEND_TASK_H */