OnixS C++ FIX Engine  4.7.0
API Documentation
EngineSettings.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 part
13 * of this source code or associated reference material to any other location for further reproduction
14 * or redistribution, and any amendments to this copyright notice, are expressly prohibited.
15 *
16 * Any reproduction or redistribution for sale or hiring of the Software not in accordance with
17 * the terms of the Agreement is a violation of copyright law.
18 */
19 
20 #pragma once
21 
22 #include <vector>
23 #include <string>
24 
26 
27 namespace OnixS {
28 namespace System {
29 class ISettings;
30 }
31 }
32 
33 namespace OnixS {
34 namespace FIX {
35 class Engine;
36 
37 /// Listen ports.
38 typedef std::vector<int> ListenPorts;
39 
40 /// Local interfaces
41 typedef std::string LocalNetworkInterface;
42 typedef std::vector<LocalNetworkInterface> LocalNetworkInterfaces;
43 
44 /// FIX Engine settings.
46 {
47 public:
48  /// Constructor.
50 
51  /// Constructor to create the EngineSettings from a Configuration string.
52  explicit EngineSettings(const std::string & configuration);
53 
54  /// Copy constructor.
56 
57  /// Loads Engine settings from a Configuration file.
58  void loadFromConfigFile(const std::string & configFile);
59 
60  /// Destructor.
61  ~EngineSettings();
62 
63  /// Assignment.
64  EngineSettings & operator = (const EngineSettings &);
65 
66  /// Option to create the FIX Engine log file.
67  EngineSettings & createEngineLogFile(bool value);
68 
69  /// Option to create the FIX Engine log file.
70  bool createEngineLogFile() const;
71 
72  /// Specifies the path(s) to the XML file(s) with the description of the FIX Dictionary(s).
73  ///
74  /// @note More than one file could be specified. Symbol '|' is used as the file name delimiter.
75  EngineSettings & dictionaryFile(const std::string & value);
76 
77  /// Returns the path to the XML file with the description of the FIX Dictionary(s).
78  const std::string & dictionaryFile() const;
79 
80  /// Specifies the plain text string with description of FIX dialect.
81  EngineSettings & dialectString(const std::string & value);
82 
83  /// Returns The string contains the plain text string with the description of the FIX dialect.
84  const std::string & dialectString() const;
85 
86  /// FIX Engine listens on this port for incoming "plain text" connections.
87  ///
88  /// @note If '0' then only session-initiators can be created.
89  /// @note If '-1' then the telecommunication level is disabled and only message parsing/assembling can be used.
90  EngineSettings & listenPort(int value);
91 
92  /// FIX Engine listens on this port for incoming "plain text" connections.
93  ///
94  /// @note If '0' then only session-initiators can be created.
95  /// @note If '-1' then the telecommunication level is disabled and only message parsing/assembling can be used.
96  int listenPort() const;
97 
98  /// Set listen ports.
99  EngineSettings & listenPorts(const ListenPorts & value);
100 
101  /// Returns listen ports.
102  const ListenPorts & listenPorts() const;
103 
104  /// FIX Engine listens on these local interfaces for incoming "plain text" connections.
105  const LocalNetworkInterfaces & localNetworkInterface() const;
106 
107  /// Sets local interfaces where engine listen for incoming connections.
108  /// Each local interface specification could specify local IP address and port. For instance "localhost" and "192.168.0.1:4501" are valid values. When
109  /// a local interface specification contains the same port as specified at listenPort settings the listening appears only on the interface and port specified
110  /// at localInterface setting.
111  /// @note At least single listen port have to be specified to make engine able to use this setting.
112  EngineSettings & localNetworkInterface(const LocalNetworkInterfaces &);
113 
114  /// Sets local interface where engine listen for incoming connections.
115  /// Each local interface specification could specify local IP address and port. For instance "localhost" and "192.168.0.1:4501" are valid values. When
116  /// a local interface specification contains the same port as specified at listenPort settings the listening appears only on the interface and port specified
117  /// at localInterface setting.
118  /// @note At least single listen port have to be specified to make engine able to use this setting.
119  EngineSettings & localNetworkInterface(const LocalNetworkInterface &);
120 
121  /// Returns the default mode for outbound and incoming connections.
122  ThreadingModel::Enum threadingModel() const;
123 
124  /// Sets the default mode for outbound and incoming connections.
125  EngineSettings & threadingModel(ThreadingModel::Enum value);
126 
127  /// Sets thread pool size.
128  EngineSettings & threadPoolSize(int size);
129 
130  /// Returns thread pool size.
131  int threadPoolSize() const;
132 
133  /// Specifies the path to the license file.
134  ///
135  /// @deprecated This method is deprecated, OnixS::FIX::EngineSettings::licenseStore(const std::string&) should be used instead.
136  EngineSettings & licenseFile(const std::string & value);
137 
138  /// Returns the path to the license file.
139  ///
140  /// @deprecated This method is deprecated, OnixS::FIX::EngineSettings::licenseStore() should be used instead.
141  const std::string & licenseFile() const;
142 
143  /// Specifies the path to the license directory.
144  ///
145  /// @note More than one license store could be specified. Symbol '|' is used as the license store delimiter.
146  EngineSettings & licenseStore(const std::string & value);
147 
148  /// Returns the path to the license directory.
149  const std::string & licenseStore() const;
150 
151  /// Specifies the string of license content.
152  EngineSettings & licenseString(const std::string & value);
153 
154  /// Returns the string of license content.
155  const std::string & licenseString() const;
156 
157  /// Returns the number of days to alert before the license expiration.
158  unsigned licenseAlertingDaysBeforeExpiration();
159 
160  /// Sets the number of days to alert before the license expiration.
161  /// If the amount of remaining license days is less or equal to this number
162  /// then the warning will be reported to the FIX Engine's log and IEngineListener::onWarning callback will be invoked.
163  /// The verification is performed during the following events: FIX Engine initialization, Session::logonAsAcceptor and Session::logonAsInitiator calls.
164  EngineSettings & licenseAlertingDaysBeforeExpiration(unsigned value);
165 
166  /// Inbound and outbound messages, session's state data and the FIX Engine log file (FixEngineLog.txt) are stored in this directory.
167  EngineSettings & logDirectory(const std::string & value);
168 
169  /// Inbound and outbound messages, session's state data and the FIX Engine log file (FixEngineLog.txt) are stored in this directory.
170  const std::string & logDirectory() const;
171 
172  /// Returns the FIX Engine log file name
173  const std::string & logFileName() const;
174 
175  /// Sets the FIX Engine log file name
176  EngineSettings & logFileName(const std::string & value);
177 
178  /// Returns 'true' if inbound messages are logged, otherwise - 'false'.
179  bool logInboundMessages() const;
180 
181  /// Option to log inbound messages.
182  EngineSettings & logInboundMessages(bool value);
183 
184  /// Returns 'true' if outbound messages are logged, otherwise - 'false'.
185  bool logOutboundMessages() const;
186 
187  /// Option to log outbound messages.
188  EngineSettings & logOutboundMessages(bool value);
189 
190  /// Returns 'true' if outbound messages are logged before sending, otherwise - 'false'.
191  bool logBeforeSending() const;
192 
193  /// Option to switch on/off logging of outbound messages before/after sending.
194  EngineSettings & logBeforeSending(bool value);
195 
196  /// Gets the usage of local time in FIX Engine events and log files.
197  bool localTimeUsage() const;
198 
199  /// Specifies the usage of local time in FIX Engine events and log files.
200  /// @param value If it is true - local time usage, if it is false - UTC time usage.
201  EngineSettings & localTimeUsage(bool value);
202 
203  /// Option to process the DeliverToCompID (tag 128) flag.
204  EngineSettings & processDeliverToCompId(bool value);
205 
206  /// Option to process the DeliverToCompID (tag 128) flag.
207  bool processDeliverToCompId() const;
208 
209  /// The reasonable transmission time as % from HeartBtInt value.
210  ///
211  /// When either end of the connection has not received any data for (HeartBtInt * (100 + ReasonableTransmissionTime)/100) seconds,
212  /// it will transmit a Test Request message.
213  ///
214  /// If there is still no Heartbeat message received after (HeartBtInt * (100 + ReasonableTransmissionTime)/100) seconds
215  /// then the connection should be considered lost and corrective action be initiated.
216  ///
217  /// @see If you need to change this option for separate session, please use
218  /// OnixS::FIX::Session::setReasonableTransmissionTime(int).
219  EngineSettings & reasonableTransmissionTime(int value);
220 
221  /// The reasonable transmission time as % from HeartBtInt value.
222  ///
223  /// When either end of the connection has not received any data for (HeartBtInt * (100 + ReasonableTransmissionTime)/100) seconds,
224  /// it will transmit a Test Request message.
225  ///
226  /// If there is still no Heartbeat message received after (HeartBtInt * (100 + ReasonableTransmissionTime)/100) seconds
227  /// then the connection should be considered lost and corrective action be initiated.
228  ///
229  /// @see You also can get value of this option for separate session using
230  /// OnixS::FIX::Session::getReasonableTransmissionTime().
231  int reasonableTransmissionTime() const;
232 
233  /// Sets the number of attempts to restore the telecommunication link.
234  EngineSettings & reconnectAttempts(int value);
235 
236  /// Returns the number of attempts to restore the telecommunication link.
237  int reconnectAttempts() const;
238 
239  /// Sets the time interval between the attempts to restore the telecommunication link (in seconds).
240  EngineSettings & reconnectInterval(int value);
241 
242  /// Returns the time interval between the attempts to restore the telecommunication link (in seconds).
243  int reconnectInterval() const;
244 
245  /// Sets the number of sent messages that are available for resending on counterparty's Resend Request <2> message.
246  EngineSettings & resendingQueueSize(size_t value);
247 
248  /// Returns the number of sent messages that are available for resending on counterparty's Resend Request <2> message.
249  /// The zero value means that sent messages are not available for resending.
250  /// The value cannot be negative.
251  size_t resendingQueueSize() const;
252 
253  /// Sets the maximum number of messages to be requested in one Resend Request (MsgType=2) message.
254  EngineSettings & resendRequestMaximumRange(int value);
255 
256  /// Returns the maximum number of messages to be requested in one Resend Request (MsgType=2) message.
257  int resendRequestMaximumRange() const;
258 
259  /// Specifies the usage of the operating system default RecvBuffer size.
260  static const int UseDefaultReceiveBufferSize = -1;
261 
262  /// Returns the size of the TCP buffer allocated to the FIX connection for receiving data.
263  /// If '-1' then the default operating system value is used.
264  int receiveBufferSize() const;
265 
266  /// Sets the size of the TCP buffer allocated to the FIX connection for receiving data.
267  /// If '-1' then the default operating system value is used.
268  EngineSettings & receiveBufferSize(int value);
269 
270  /// Specifies the usage of the operating system default SendBuffer size.
271  static const int UseDefaultSendBufferSize = -1;
272 
273  /// Returns the size of the TCP buffer allocated to the FIX connection for sending data.
274  /// If '-1' then the default operating system value is used.
275  int sendBufferSize() const;
276 
277  /// Sets the size of the TCP buffer allocated to the FIX connection for sending data.
278  /// If '-1' then the default operating system value is used.
279  EngineSettings & sendBufferSize(int value);
280 
281  /// Returns the value of the option to send the Logout message before dropping the telecommunication link in case of Exception during the processing of incoming FIX message.
282  EngineSettings & sendLogoutOnException(bool value);
283 
284  /// Option to send the Logout message before dropping the telecommunication link in case of Exception during the processing of incoming FIX message.
285  bool sendLogoutOnException() const;
286 
287  /// Returns the value of the option to send the Logout message before dropping the telecommunication link in case of an invalid logon attempt.
288  EngineSettings & sendLogoutOnInvalidLogon(bool value);
289 
290  /// Option to send the Logout message before dropping the telecommunication link in case of an invalid logon attempt.
291  bool sendLogoutOnInvalidLogon() const;
292 
293  /// Sets the path to the SSL certificate file in (Privacy Enhanced Mail) Base64 encoded (.pem) format.
294  EngineSettings & sslCertificateFile(const std::string & value);
295 
296  /// Returns the path to the SSL certificate file in (Privacy Enhanced Mail) Base64 encoded (.pem) format.
297  const std::string & sslCertificateFile() const;
298 
299  /// Sets the path to the SSL private key file in (Privacy Enhanced Mail) Base64 encoded (.pem) format.
300  EngineSettings & sslPrivateKeyFile(const std::string & value);
301 
302  /// Returns the path to the SSL private key file in (Privacy Enhanced Mail) Base64 encoded (.pem) format.
303  const std::string & sslPrivateKeyFile() const;
304 
305  /// Set the password to load private keys that are protected by a password.
306  EngineSettings & sslPrivateKeyPassword(const std::string & value);
307 
308  /// Returns the password to load private keys that are protected by a password.
309  const std::string & sslPrivateKeyPassword() const;
310 
311  /// FIX Engine listens on this port for incoming SSL connections.
312  ///
313  /// @note If '0' then only session-initiators can be created.
314  /// @note If '-1' then the telecommunication level is disabled and only message parsing/assembling can be used.
315  EngineSettings & sslListenPort(int value);
316 
317  /// FIX Engine listens on this port for incoming SSL connections.
318  ///
319  /// @note If '0' then only session-initiators can be created.
320  /// @note If '-1' then the telecommunication level is disabled and only message parsing/assembling can be used.
321  int sslListenPort() const;
322 
323  /// Sets SSL listen ports.
324  EngineSettings & sslListenPorts(const ListenPorts & value);
325 
326  /// Returns SSL listen ports.
327  const ListenPorts & sslListenPorts() const;
328 
329  /// FIX Engine listens on these local interfaces for incoming SSL connections.
330  const LocalNetworkInterfaces & sslLocalInterface() const;
331 
332  /// Sets local interfaces where engine listen for incoming SSL connections.
333  /// @note At least single SSL-listen port have to be specified to make engine able to use this setting.
334  EngineSettings & sslLocalInterface(const LocalNetworkInterfaces &);
335 
336  /// Set option to request client certificates and perform the certificate verification.
337  EngineSettings & sslVerifyPeer(bool verify);
338 
339  /// Returns option to request client certificates and perform the certificate verification.
340  bool sslVerifyPeer() const;
341 
342  /// Sets the path to the trusted certification authority certificate file in (Privacy Enhanced Mail) Base64 encoded (.pem) format.
343  EngineSettings & sslCaFile(const std::string & value);
344 
345  /// Returns the path to trusted certification authority certificate file in (Privacy Enhanced Mail) Base64 encoded (.pem) format.
346  const std::string & sslCaFile() const;
347 
348  ///Sets the CPU affinity of the Engine service threads.
349  EngineSettings & serviceThreadAffinity(const OnixS::Threading::CpuIndexes & cpuIndexes);
350 
351  ///Sets the CPU affinity of the Engine service threads.
352  EngineSettings & serviceThreadAffinity(const OnixS::Threading::CpuIndex cpuIndex);
353 
354  ///Returns the CPU affinity of the Engine service threads.
355  const OnixS::Threading::CpuIndexes & serviceThreadAffinity();
356 
357  ///Returns the priority of the Engine service threads.
358  int serviceThreadPriority() const;
359 
360  ///Sets the priority of the Engine service threads.
361  EngineSettings & serviceThreadPriority(int priority);
362 
363  ///Returns the policy of the Engine service threads.
364  int serviceThreadPolicy() const;
365 
366  ///Sets the policy of the Engine service threads.
367  EngineSettings & serviceThreadPolicy(int policy);
368 
369  /// Sets option to improve latency at the expense of message throughput (TCP_NODELAY).
370  EngineSettings & tcpNoDelayOption(bool value);
371 
372  /// Gets option to improve latency at the expense of message throughput (TCP_NODELAY).
373  bool tcpNoDelayOption() const;
374 
375  /// Sets the non-blocking receive spinning timeout (in microseconds) before the receiving thread enters into the blocking wait mode
376  /// @note Should not be greater than 1 sec (minimal Heartbeat interval).
377  EngineSettings & receiveSpinningTimeout(int value);
378 
379  /// Gets the current receive spinning timeout value (in microseconds).
380  int receiveSpinningTimeout() const;
381 
382  /// Sets the send spinning timeout (in microseconds) of the Session::send(..) method to wait for the socket sending buffer availability
383  /// in the spin loop mode before placing the message to the outgoing queue (to be sent later by the sending thread).
384  /// @note Should not be greater than 1 sec (minimal Heartbeat interval).
385  EngineSettings & sendSpinningTimeout(int value);
386 
387  /// Gets the current send spinning timeout value (in microseconds).
388  int sendSpinningTimeout() const;
389 
390  /// Sets message grouping option
391  /// Value 0 means default grouping - the messages will be tried to send ASAP and pending messages (if any) will be grouped till reaching of TCP buffer size.
392  /// Value 1 means the messages will be sent ASAP and never will be grouped.
393  /// Value 2 (or greater) means the messages will be sent ASAP and pending messages will be grouped maximum by 2 (or greater).
394  EngineSettings & messageGrouping(unsigned value);
395 
396  /// Gets message grouping option.
397  unsigned messageGrouping() const;
398 
399  /// Gets segment size for file based session storage.
400  unsigned long long fileBasedStorageSegmentSize() const;
401 
402  /// Sets segment size for file based session storage.
403  /// @param value Maximum size of single segment (single file) of the storage, in bytes.
404  EngineSettings & fileBasedStorageSegmentSize(unsigned long long value);
405 
406  /// Gets the log queue maximum size of the asynchronous session storage.
407  unsigned asyncFileBasedStorageQueueMaxSize() const;
408 
409  /// Sets the log queue maximum size of the asynchronous session storage.
410  EngineSettings & asyncFileBasedStorageQueueMaxSize(unsigned value);
411 
412  ///Sets the CPU affinity of the asynchronous session storage threads.
413  EngineSettings & asyncFileBasedStorageThreadAffinity(const OnixS::Threading::CpuIndexes & cpuIndexes);
414 
415  ///Sets the CPU affinity of the asynchronous session storage threads.
416  EngineSettings & asyncFileBasedStorageThreadAffinity(const OnixS::Threading::CpuIndex cpuIndex);
417 
418  ///Returns the CPU affinity of the asynchronous session storage threads.
419  const OnixS::Threading::CpuIndexes & asyncFileBasedStorageThreadAffinity();
420 
421  /// Gets mode of file based storage integrity errors checking. Valuable only when value of fileBasedStorageSegmentSize != 0.
422  bool ignoreFileBasedStorageIntegrityErrors() const;
423 
424  /// Sets mode of file based storage integrity errors checking. Valuable only when value of fileBasedStorageSegmentSize != 0.
425  /// @param value Mode of checking: true - ignore errors and create new storage, false - throw exception.
426  EngineSettings & ignoreFileBasedStorageIntegrityErrors(bool value);
427 
428  /// Gets option to specify ApplVerID(1128) tag in all application FIX messages when a FIX protocol version FIX 5.0 and above is used.
429  bool specifyApplVerIdField() const;
430 
431  /// Sets option to specify ApplVerID(1128) tag in all application FIX messages when a FIX protocol version FIX 5.0 and above is used.
432  EngineSettings & specifyApplVerIdField(bool value);
433 
434  /// Gets option to specify the LastMsgSeqNumProcessed (tag=369) field on every message sent. Useful for detecting a backlog with a counterparty.
435  bool specifyLastMsgSeqNumProcessed() const;
436 
437  /// Sets option to specify the LastMsgSeqNumProcessed (tag=369) field on every message sent. Useful for detecting a backlog with a counterparty.
438  EngineSettings & specifyLastMsgSeqNumProcessed(bool value);
439 
440  /// When the message gap is detected the "Resend Request" FIX Message is sent and Session state is changed to "AwaitReplyOnResendRequest".
441  /// By default in this state the incoming new messages (without the PossDupFlag (tag #43) flag) are ignored because we expect them to be re-sent later again with the PossDupFlag flag.
442  ///
443  /// This property allows to change this behavior and report the new messages anyway.
444  ///
445  /// @note In this mode messages could be reported out of the original order: e.g. MsgSeqNum could be: 3 (original), 4 (original), 2 (PossDupFlag='Y'), 3 (PossDupFlag='Y'), 4 (PossDupFlag='Y')
446  /// and some messages could be received two times: first time without PossDupFlag='Y' and second time - with this flag.
447  bool reportNewMessagesWhileWaitingForMissedMessages() const;
448 
449  /// Sets option to report new messages while waiting for missed messages.
450  EngineSettings & reportNewMessagesWhileWaitingForMissedMessages(bool value);
451 
452  /// Gets the expected incoming FIX message size. The value represents an average FIX message size that is expected to be received by the session during the lifetime.
453  /// It is used as a hint for the optimization of the deserialization of large FIX messages with a lot of repeating groups.
454  ///
455  /// @note The large value of the setting can increase the memory consumption by the incoming `Message` object,
456  /// so try to increase the value only in case of a latency degradation of the large incoming FIX messages deserialization.
457  int expectedIncomingMessageSize() const;
458 
459  /// Sets the expected incoming FIX message size.
460  EngineSettings & expectedIncomingMessageSize(int value);
461 
462  /// Get option to validate the presence of unknown FIX messages (messages that do not belong to the message in accordance with the FIX protocol or its FIX Dictionary).
463  bool validateUnknownMessages() const;
464 
465  /// Set option to validate the presence of unknown FIX messages (messages that do not belong to the message in accordance with the FIX protocol or its FIX Dictionary).
466  EngineSettings & validateUnknownMessages(bool);
467 
468  /// Get option to validate the presence of unknown fields (fields that do not belong to the message in accordance with the FIX protocol or its FIX Dictionary.
469  bool validateUnknownFields() const;
470 
471  /// Set option to validate the presence of unknown fields (fields that do not belong to the message in accordance with the FIX protocol or its FIX Dictionary.
472  EngineSettings & validateUnknownFields(bool);
473 
474  /// Get option to validate the presence of required fields in inbound and outbound messages.
475  bool validateRequiredFields() const;
476 
477  /// Set option to validate the presence of required fields in inbound and outbound messages.
478  EngineSettings & validateRequiredFields(bool);
479 
480  /// Get option to validate the field values of FIX messages in accordance with the FIX protocol or its FIX Dictionary.
481  bool validateFieldValues() const;
482 
483  /// Set option to validate the field values of FIX messages in accordance with the FIX protocol or its FIX Dictionary.
484  EngineSettings & validateFieldValues(bool);
485 
486  /// Get option to validate the empty field values of FIX messages in accordance with the FIX protocol or its FIX Dictionary.
487  bool validateEmptyFieldValues() const;
488 
489  /// Set option to validate the empty field values of FIX messages in accordance with the FIX protocol or its FIX Dictionary.
490  EngineSettings & validateEmptyFieldValues(bool);
491 
492  /// Get option to validate the repeating group size of FIX messages in accordance with the FIX protocol or its FIX Dictionary.
493  bool validateRepeatingGroupEntryCount() const;
494 
495  /// Set option to validate the repeating group size of FIX messages in accordance with the FIX protocol or its FIX Dictionary.
496  EngineSettings & validateRepeatingGroupEntryCount(bool);
497 
498  /// Get option to validate the repeating group leading tag of FIX messages in accordance with the FIX protocol or its FIX Dictionary.
499  bool validateRepeatingGroupLeadingTag() const;
500 
501  /// Set option to validate the repeating group leading tag of FIX messages in accordance with the FIX protocol or its FIX Dictionary.
502  EngineSettings & validateRepeatingGroupLeadingTag(bool);
503 
504  /// Get option to validate the duplicated field.
505  bool validateDuplicatedField() const;
506 
507  /// Set option to validate the duplicated field.
508  EngineSettings & validateDuplicatedField(bool);
509 
510  /// Get option to validate the checksum of incoming messages.
511  bool validateChecksum() const;
512 
513  /// Set option to validate the checksum of incoming messages.
514  EngineSettings & validateChecksum(bool);
515 
516 private:
517  friend class Engine;
518 
519  const OnixS::System::ISettings & settings() const;
520 
521  struct Implementation;
522  Implementation * impl;
523 };
524 }
525 }
size_t CpuIndex
Logical processors that a thread is allowed to run on (first logical CPU has index 0)...
Definition: Thread.h:31
#define ONIXS_FIXENGINE_API
Definition: ABI.h:45
std::string LocalNetworkInterface
Local interfaces.
std::set< CpuIndex > CpuIndexes
Definition: Thread.h:32
std::vector< int > ListenPorts
Listen ports.
Definition: Engine.h:36
FIX Engine settings.
FIX Engine.
Definition: Engine.h:39
std::vector< LocalNetworkInterface > LocalNetworkInterfaces