summaryrefslogtreecommitdiff
path: root/performance-tests/SCTP/Options_Manager.h
blob: 7fbcc2dbfcc48b9bf7370b529f6bc4210236bb13 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
// -*- C++ -*-

// $Id$

// The types defined in ACE_CDR are more complete that those in Basic_Types.h


#ifndef OPTIONS_MANAGER_H
#define OPTIONS_MANAGER_H

#ifndef ACE_CDR_BASE_H
#include "ace/CDR_Base.h"
#endif

#include "ace/streams.h"
#include "ace/OS_NS_stdio.h"

class Options_Manager
{
public:

  Options_Manager(int argc, ACE_TCHAR **argv, ACE_TCHAR const * const opts_set);

  // constant string size
  enum { string_len = 100 };

  static ACE_CDR::ULong test_iterations;
  static ACE_CDR::Boolean test_enable_nagle;
  static ACE_CDR::Long test_transport_protocol;

  static ACE_CDR::Double histogram_min_bin;
  static ACE_CDR::Double histogram_max_bin;
  static ACE_CDR::ULong histogram_bin_count;
  static ACE_CDR::ULong histogram_num_outliers;

  static ACE_CDR::UShort client_port;
  static ACE_CDR::ULong  client_connect_addr;

  static ACE_CDR::UShort server_port;
  static ACE_TCHAR server_host[string_len];
  static ACE_CDR::ULong server_accept_addr;

  static ACE_CDR::UShort payload_size_power_of_2;

  // Secondary client_connect_addrs for SCTP SOCK_SEQPACK test
  enum { max_num_secondary_connect_addrs = 100 };
  static ACE_CDR::ULong secondary_connect_addrs[max_num_secondary_connect_addrs];
  static ACE_CDR::UShort num_secondary_connect_addrs;

  // Secondary server_accept_addrs for SCTP SOCK_SEQPACK test
  enum { max_num_secondary_accept_addrs = 100 };
  static ACE_CDR::ULong secondary_accept_addrs[max_num_secondary_accept_addrs];
  static ACE_CDR::UShort num_secondary_accept_addrs;

  static ACE_CDR::UShort _error;
  static const ACE_TCHAR* _error_message;

  static ACE_CDR::UShort _usage;
  void _show_usage(FILE* out, ACE_TCHAR const * const opts_set);

private:
  static ACE_CDR::Boolean __initialized;
  static ACE_TCHAR __program_name[string_len];

};

#endif /* OPTIONS_MANAGER_H */