diff options
author | William R. Otte <wotte@dre.vanderbilt.edu> | 2006-07-24 15:50:30 +0000 |
---|---|---|
committer | William R. Otte <wotte@dre.vanderbilt.edu> | 2006-07-24 15:50:30 +0000 |
commit | 7a52d43a162b23d9e85e7b955e9b2c8e9caf550e (patch) | |
tree | 66a84b20d47f2269d8bdc6e0323f338763424d3a /ACE/apps/Gateway/Peer/Options.h | |
parent | 0e49389337be86641451a5c36c24bf742fe97523 (diff) | |
download | ATCD-7a52d43a162b23d9e85e7b955e9b2c8e9caf550e.tar.gz |
Repo restructuring
Diffstat (limited to 'ACE/apps/Gateway/Peer/Options.h')
-rw-r--r-- | ACE/apps/Gateway/Peer/Options.h | 135 |
1 files changed, 135 insertions, 0 deletions
diff --git a/ACE/apps/Gateway/Peer/Options.h b/ACE/apps/Gateway/Peer/Options.h new file mode 100644 index 00000000000..bc872fe7df4 --- /dev/null +++ b/ACE/apps/Gateway/Peer/Options.h @@ -0,0 +1,135 @@ +// -*- C++ -*- +// +// $Id$ + +// ============================================================================ +// +// = LIBRARY +// gateway +// +// = FILENAME +// Options.h +// +// = AUTHOR +// Douglas C. Schmidt +// +// ============================================================================ + +#ifndef OPTIONS_H +#define OPTIONS_H + +#include "../Gateway/Event.h" +#include "ace/svc_export.h" + +class ACE_Svc_Export Options + // = TITLE + // Singleton that consolidates all Options for a peerd. +{ +public: + // = Options that can be enabled/disabled. + enum + { + VERBOSE = 01, + SUPPLIER_ACCEPTOR = 02, + CONSUMER_ACCEPTOR = 04, + SUPPLIER_CONNECTOR = 010, + CONSUMER_CONNECTOR = 020 + }; + + static Options *instance (void); + // Return Singleton. + + void parse_args (int argc, ACE_TCHAR *argv[]); + // Parse the arguments and set the options. + + // = Accessor methods. + int enabled (int option) const; + // Determine if an option is enabled. + + u_short supplier_acceptor_port (void) const; + // Our acceptor port number, i.e., the one that we passively listen + // on for connections to arrive from a gatewayd and create a + // Supplier. + + u_short consumer_acceptor_port (void) const; + // Our acceptor port number, i.e., the one that we passively listen + // on for connections to arrive from a gatewayd and create a + // Consumer. + + u_short supplier_connector_port (void) const; + // The connector port number, i.e., the one that we use to actively + // establish connections with a gatewayd and create a Supplier. + + u_short consumer_connector_port (void) const; + // The connector port number, i.e., the one that we use to actively + // establish connections with a gatewayd and create a Consumer. + + const ACE_TCHAR *connector_host (void) const; + // Our connector port host, i.e., the host running the gatewayd + // process. + + long timeout (void) const; + // Duration between disconnects. + + long max_queue_size (void) const; + // The maximum size of the queue. + + CONNECTION_ID &connection_id (void); + // Returns a reference to the connection id. + +private: + enum + { + MAX_QUEUE_SIZE = 1024 * 1024 * 16, + // We'll allow up to 16 megabytes to be queued per-output + // channel!!!! This is clearly a policy in search of + // refinement... + + DEFAULT_TIMEOUT = 60 + // By default, disconnect the peer every minute. + }; + + Options (void); + // Ensure Singleton. + + void print_usage_and_die (void); + // Explain usage and exit. + + static Options *instance_; + // Singleton. + + u_long options_; + // Flag to indicate if we want verbose diagnostics. + + u_short supplier_acceptor_port_; + // The acceptor port number, i.e., the one that we passively listen + // on for connections to arrive from a gatewayd and create a + // Supplier. + + u_short consumer_acceptor_port_; + // The acceptor port number, i.e., the one that we passively listen + // on for connections to arrive from a gatewayd and create a + // Consumer. + + u_short supplier_connector_port_; + // The connector port number, i.e., the one that we use to actively + // establish connections with a gatewayd and create a Supplier. + + u_short consumer_connector_port_; + // The connector port number, i.e., the one that we use to actively + // establish connections with a gatewayd and create a Consumer. + + const ACE_TCHAR *connector_host_; + // Our connector host, i.e., where the gatewayd process is running. + + long timeout_; + // The amount of time to wait before disconnecting from the Peerd. + + long max_queue_size_; + // The maximum size that the queue can grow to. + + CONNECTION_ID connection_id_; + // The connection id. +}; + +#endif /* OPTIONS_H */ |