diff options
author | coryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1999-05-14 14:50:23 +0000 |
---|---|---|
committer | coryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1999-05-14 14:50:23 +0000 |
commit | ca2c0c51b706dc308ec076122fe100112f7a94a1 (patch) | |
tree | 0ec1033953e503e84c17f9e80d8b4894e3baada5 /TAO/orbsvcs/tests/Event/Basic/Schedule.h | |
parent | 3a18c0961d1c692045cb8eade70fec0bd2f46e86 (diff) | |
download | ATCD-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.h | 85 |
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 */ |