diff options
Diffstat (limited to 'TAO/orbsvcs/performance-tests/RTEvent/lib/Client_Options.h')
-rw-r--r-- | TAO/orbsvcs/performance-tests/RTEvent/lib/Client_Options.h | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/TAO/orbsvcs/performance-tests/RTEvent/lib/Client_Options.h b/TAO/orbsvcs/performance-tests/RTEvent/lib/Client_Options.h new file mode 100644 index 00000000000..8d12ab4fafc --- /dev/null +++ b/TAO/orbsvcs/performance-tests/RTEvent/lib/Client_Options.h @@ -0,0 +1,60 @@ +/** + * @file Client_Options.h + * + * $Id$ + * + * @author Carlos O'Ryan <coryan@uci.edu> + * + */ + +#ifndef TAO_RTEC_PERF_CLIENT_OPTIONS_H +#define TAO_RTEC_PERF_CLIENT_OPTIONS_H +#include /**/ "ace/pre.h" + +#include "rtec_perf_export.h" + +#if !defined (ACE_LACKS_PRAGMA_ONCE) +# pragma once +#endif /* ACE_LACKS_PRAGMA_ONCE */ + +#include "ace/Arg_Shifter.h" + +/// Parse the command-line client_options for the tests. +/** + * Note that some of the tests ignore some of the client_options, but it is + * easier to have them all in a single class. + */ +class TAO_RTEC_Perf_Export Client_Options +{ +public: + /// Constructor + Client_Options (int &argc, char *argv[]); + + const char *ior; + int iterations; + int nthreads; + int high_priority_period; + int high_priority_workload; + int low_priority_period; + int low_priority_workload; + int low_priority_consumers; + + int dump_history; + int use_rt_corba; + int global_low_priority_rate; + int unique_low_priority_event; + int funky_supplier_publication; + int high_priority_is_last; + +private: + int option (ACE_Arg_Shifter &arg_shifter, + const char *option_name, + int &option_value); + + int boolean_option (ACE_Arg_Shifter &arg_shifter, + const char *option_name, + int &option_value); +}; + +#include /**/ "ace/post.h" +#endif /* TAO_RTEC_PERF_CLIENT_OPTIONS_H */ |