OnixS C++ Tullett Prebon SURF Handler  1.6.1
API documentation
HandlerSettings.h
Go to the documentation of this file.
1 /*
2  * Copyright Onix Solutions Limited [OnixS]. All rights reserved.
3  *
4  * This software owned by Onix Solutions Limited [OnixS] and is protected by copyright law
5  * and international copyright treaties.
6  *
7  * Access to and use of the software is governed by the terms of the applicable ONIXS Software
8  * Services Agreement (the Agreement) and Customer end user license agreements granting
9  * a non-assignable, non-transferable and non-exclusive license to use the software
10  * for it's own data processing purposes under the terms defined in the Agreement.
11  *
12  * Except as otherwise granted within the terms of the Agreement, copying or reproduction of any
13  * part of this source code or associated reference material to any other location for further
14  * reproduction or redistribution, and any amendments to this copyright notice, are expressly
15  * prohibited.
16  *
17  * Any reproduction or redistribution for sale or hiring of the Software not in accordance with
18  * the terms of the Agreement is a violation of copyright law.
19  */
20 
21 #pragma once
22 
23 #include <OnixS/SURF/MarketData/Export.h>
25 
26 #include <iosfwd>
27 #include <string>
28 
29 namespace OnixS { namespace SURF { namespace MarketData {
30 
31 /// Connection retries settings.
32 struct ONIXS_TP_SURF_EXPORT ConnectionRetries
33 {
34  /// Default constructor.
36  : number(0)
37  , interval(0)
38  {
39  }
40 
41  /// Constructor.
42  ConnectionRetries(int inNumber, unsigned inInterval)
43  : number(inNumber)
44  , interval(inInterval)
45  {
46  }
47 
48  /// Number of attempts to restore the telecommunication link.
49  /// -1 - unlimited
50  /// 0 - never (default)
51  /// >0 - the number of attempts
52  int number;
53 
54  /// The time interval between the attempts to restore the telecommunication link (in seconds).
55  ///
56  /// \note The default value is 0 (zero).
57  unsigned interval;
58 };
59 
60 /// Configuration settings.
61 struct ONIXS_TP_SURF_EXPORT HandlerSettings
62 {
63  /// Constructor.
65 
66  /// Content of the license file as a string.
67  ///
68  /// \note Default value is empty string.
69  /// \note The Handler checks this license first.
70  std::string licenseString;
71 
72  /// Path to the license directory.
73  std::string licenseDirectory;
74 
75  /// Log files are stored in this directory.
76  std::string logDirectory;
77 
78  /// Template of log file name without extension.
79  std::string logFileNamePrefix;
80 
81  /// Combine LogSettings enum values to configure the logger.
83 
84  /// Log verbosity.
85  ///
86  /// \note The default value is LogLevel::Info
88 
89  /// Sets the local network interface from which you intend to receive data.
90  std::string localNetworkInterface;
91 
92  /// Timeout value in milliseconds. If 0 then the receiving blocks until some data is received.
93  ///
94  /// \note The default value is 120000 milliseconds (120 seconds) because a heartbeat record will
95  /// be transmitted every 2 minutes.
97 
98  /// Non-blocking receive spinning timeout (in microseconds) before the receiving thread enters
99  /// into the blocking wait mode.
100  ///
101  /// Default value is 0 (turned off).
103 
104  /// Sets the processor affinity mask for the TCP receiving thread.
105  ///
106  /// Default value is -1 (undefined).
107  int cpuIndex;
108 
109  /// Connection retries configuration settings.
110  ///
111  /// \see ConnectionRetries.
113 
114  /// Returns the string representation.
115  std::string toString() const;
116 };
117 
118 ONIXS_TP_SURF_EXPORT std::ostream& operator<<(std::ostream&, const HandlerSettings&);
119 
120 }}} // namespace OnixS::SURF::MarketData
std::string localNetworkInterface
Sets the local network interface from which you intend to receive data.
std::string logDirectory
Log files are stored in this directory.
Definition: Decimal.h:28
ConnectionRetries(int inNumber, unsigned inInterval)
Constructor.
LogSettings::Enum logSettings
Combine LogSettings enum values to configure the logger.
std::string logFileNamePrefix
Template of log file name without extension.
std::ostream & operator<<(std::ostream &, const Decimal &)
std::string licenseDirectory
Path to the license directory.