summaryrefslogtreecommitdiff
path: root/ACE/examples/ASX/Event_Server/Event_Server/Options.h
diff options
context:
space:
mode:
Diffstat (limited to 'ACE/examples/ASX/Event_Server/Event_Server/Options.h')
-rw-r--r--ACE/examples/ASX/Event_Server/Event_Server/Options.h122
1 files changed, 122 insertions, 0 deletions
diff --git a/ACE/examples/ASX/Event_Server/Event_Server/Options.h b/ACE/examples/ASX/Event_Server/Event_Server/Options.h
new file mode 100644
index 00000000000..96e2cad3627
--- /dev/null
+++ b/ACE/examples/ASX/Event_Server/Event_Server/Options.h
@@ -0,0 +1,122 @@
+/* -*- C++ -*- */
+// $Id$
+
+#ifndef OPTIONS_H
+#define OPTIONS_H
+
+#include "ace/config-all.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "ace/Profile_Timer.h"
+
+class Options
+{
+ // = TITLE
+ // Option Singleton for Event Server.
+public:
+ static Options *instance (void);
+ // Singleton access point.
+
+ void parse_args (int argc, ACE_TCHAR *argv[]);
+ // Parse the command-line arguments and set the options.
+
+ // = Timer management.
+ void stop_timer (void);
+ void start_timer (void);
+
+ // = Set/get the number of threads.
+ void thr_count (size_t count);
+ size_t thr_count (void);
+
+ // = Set/get the size of the queue.
+ void initial_queue_length (size_t length);
+ size_t initial_queue_length (void);
+
+ // = Set/get the high water mark.
+ void high_water_mark (size_t size);
+ size_t high_water_mark (void);
+
+ // = Set/get the high water mark.
+ void low_water_mark (size_t size);
+ size_t low_water_mark (void);
+
+ // = Set/get the size of a message.
+ void message_size (size_t size);
+ size_t message_size (void);
+
+ // = Set/get the number of iterations.
+ void iterations (size_t n);
+ size_t iterations (void);
+
+ // Set/get threading flags.
+ void t_flags (long flag);
+ long t_flags (void);
+
+ // Set/get supplier port number.
+ void supplier_port (u_short port);
+ u_short supplier_port (void);
+
+ // Set/get consumer port number.
+ void consumer_port (u_short port);
+ u_short consumer_port (void);
+
+ // Enabled if we're in debugging mode.
+ int debug (void);
+
+ // Enabled if we're in verbose mode.
+ int verbose (void);
+
+ // Print the results to the STDERR.
+ void print_results (void);
+
+private:
+ // = Ensure we're a Singleton.
+ Options (void);
+ ~Options (void);
+
+ ACE_Profile_Timer itimer_;
+ // Time the process.
+
+ size_t thr_count_;
+ // Number of threads to spawn.
+
+ long t_flags_;
+ // Flags to <thr_create>.
+
+ size_t high_water_mark_;
+ // ACE_Task high water mark.
+
+ size_t low_water_mark_;
+ // ACE_Task low water mark.
+
+ size_t message_size_;
+ // Size of a message.
+
+ size_t initial_queue_length_;
+ // Initial number of items in the queue.
+
+ size_t iterations_;
+ // Number of iterations to run the test program.
+
+ int debugging_;
+ // Extra debugging info.
+
+ int verbosity_;
+ // Extra verbose messages.
+
+ u_short consumer_port_;
+ // Port that the Consumer_Router is using.
+
+ u_short supplier_port_;
+ // Port that the Supplier_Router is using.
+
+ static Options *instance_;
+ // Static Singleton.
+
+};
+
+#include "Options.i"
+#endif /* OPTIONS_H */