summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/tests/Event/Basic/Schedule.h
diff options
context:
space:
mode:
authorcoryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1999-05-14 14:50:23 +0000
committercoryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1999-05-14 14:50:23 +0000
commitca2c0c51b706dc308ec076122fe100112f7a94a1 (patch)
tree0ec1033953e503e84c17f9e80d8b4894e3baada5 /TAO/orbsvcs/tests/Event/Basic/Schedule.h
parent3a18c0961d1c692045cb8eade70fec0bd2f46e86 (diff)
downloadATCD-ca2c0c51b706dc308ec076122fe100112f7a94a1.tar.gz
ChangeLogTag:Fri May 14 09:30:14 1999 Carlos O'Ryan <coryan@cs.wustl.edu>
Diffstat (limited to 'TAO/orbsvcs/tests/Event/Basic/Schedule.h')
-rw-r--r--TAO/orbsvcs/tests/Event/Basic/Schedule.h85
1 files changed, 85 insertions, 0 deletions
diff --git a/TAO/orbsvcs/tests/Event/Basic/Schedule.h b/TAO/orbsvcs/tests/Event/Basic/Schedule.h
new file mode 100644
index 00000000000..ed5cd78d0aa
--- /dev/null
+++ b/TAO/orbsvcs/tests/Event/Basic/Schedule.h
@@ -0,0 +1,85 @@
+/* -*- C++ -*- */
+// $Id$
+//
+// ============================================================================
+//
+// = LIBRARY
+// ORBSVCS Real-time Event Channel testsuite
+//
+// = FILENAME
+// Schedule
+//
+// = AUTHOR
+// Carlos O'Ryan (coryan@cs.wustl.edu)
+//
+// ============================================================================
+
+#ifndef EC_SCHEDULE_H
+#define EC_SCHEDULE_H
+
+#include "Driver.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+class EC_Schedule : public EC_Driver
+{
+ //
+ // = TITLE
+ // Test the EC scheduling test
+ //
+ // = DESCRIPTION
+ // The EC can be used in conjunction with the scheduling service
+ // to analyze the schedulabity of a system and compute priority
+ // assignments that guarantee the correct behavior of it.
+ //
+ // Most of the work is actually done by the scheduler (as it
+ // should be), the event channel simply plays two roles:
+ //
+ // 1) Feed the scheduler with the dependency information between
+ // consumers and suppliers based on their QoS requirements,
+ // subscriptions and publications.
+ //
+ // 2) At run-time use the scheduler information to dispatch the
+ // events at the right priority.
+ //
+ // The current version only verifies the first role.
+ //
+public:
+ EC_Schedule (void);
+ // Constructor
+
+ // = The EC_Driver methods
+ virtual int parse_args (int& argc, char* argv[]);
+ virtual void print_args (void) const;
+ virtual void print_usage (void);
+ // add some command line args to change the scheduling service to
+ // use.
+
+ void initialize_ec_impl (CORBA::Environment &ACE_TRY_ENV);
+ virtual void modify_attributes (TAO_EC_Event_Channel_Attributes& attr);
+ // Set the scheduling service attribute
+
+ void execute_test (CORBA::Environment& ACE_TRY_ENV);
+ // Don't run the suppliers, just compute the schedule.
+
+ void dump_results (void);
+ // Don't dump the EC_Driver results, they are meaningless.
+
+ virtual void build_consumer_qos (
+ int i,
+ RtecEventChannelAdmin::ConsumerQOS& qos,
+ int& shutdown_event_type,
+ CORBA::Environment&);
+ virtual void build_supplier_qos (
+ int i,
+ RtecEventChannelAdmin::SupplierQOS& qos,
+ int& shutdown_event_type,
+ CORBA::Environment&);
+ // This time really connect to the scheduler
+
+private:
+};
+
+#endif /* EC_SCHEDULE_H */