OnixS C++ FIX Engine  4.12.0
API Documentation
Complete Reference of Configuration Settings
Setting Description

Default value

Acceptor.SendLogoutOnInvalidLogon Option to send a Logout message, before dropping the telecommunication link in reply on an invalid logon attempt (e.g. received an initial Logon message when a valid FIX Connection is already underway for the same SenderCompID, TargetCompID and FIX Version).

false

AsyncFileBasedStorageQueueMaxSize Specifies the log queue maximum size of the asynchronous session storage.

numeric_limits<unsigned>::max() (Unlimited)

AsyncFileBasedStorageThreadAffinity Specifies the CPU index(es) for affinity of the asynchronous session storage threads. Symbol ',' is used as the cpu index delimiter. This affinity will be used by all asynchronous session storages of all sessions.

Empty

Connection.MessageGrouping The number of messages that should be written to the outgoing TCP buffer together.
  • Value 0 means default grouping - the messages will be sent ASAP, and pending messages (if any) will be grouped till reaching of TCP buffer size.
  • Value 1 means the messages will be sent ASAP and never will be grouped.
  • Value 2 (or greater) means the messages will be sent ASAP and pending messages will be grouped maximum by 2 (or greater).

0

ThreadingModel The way in which the Engine will work with sockets.

Default (OnixS::FIX::ThreadingModel::Default)

Connection.ReceiveBufferSize The size of the buffer allocated to the FIX connection for receiving data (SO_RCVBUF). If the setting is set to '-1', then the default operating system value is used.

-1

Connection.ReceiveSpinningTimeout Spinning timeout for data receiving.

0

Connection.SendSpinningTimeout Spinning timeout for data sending.

0

Connection.SendBufferSize The size of the buffer is allocated to the FIX connection for sending data (SO_SNDBUF). If the setting is set to '-1', then the default operating system value is used.

-1

Connection.TcpNoDelayOption Option to improve latency at the expense of message throughput (TCP_NODELAY).

true

DictionaryFile Specify path(s) to XML file(s) with the description of FIX Dictionary(s). More than one file could be specified. The symbol '|' is used as the file name delimiter.

Empty

DialectString Specifies the plain text string with a description of the FIX dialect.

Empty

ExpectedIncomingMessageSize The value represents an average FIX message size that is expected to be received by the session during the lifetime. It is used as a hint for the optimization of the deserialization of large FIX messages with a lot of repeating groups.

102400

FileBasedStorageSegmentSize Segment size for the file-based session storage.

0

FirstLogonTimeout Timeout (in seconds) between an incoming TCP connection is detected and the first Logon message is received.

30

IgnoreFileBasedStorageIntegrityErrors

Behavior when File-Based Storage errors are detected.

  • If 'true' creates new session storage when errors are detected.
  • If 'false' throws exception and prevents session against creating.

false

LicenseFile Specifies the path to the license file. Deprecated since version 2.76.1.0 .

OnixS.Cpp.FIX.Engine.lic

LicenseStore Specifies the path to the folder that contains license file(s).</td

.

LicenseString Specifies the string of license content.

Empty

LicenseAlertingDaysBeforeExpiration Specifies the number of days to alert before the license expiration. If the amount of remaining license days is less or equal to this number then the warning will be reported to the FIX Engine's log and IEngineListener::onWarning callback will be invoked.

0 (No alerting)

ListenPort

FIX Engine listens on this port for incoming connections:

  • If '0', then only session-initiators can be created.
  • If '-1', then the telecommunication level is disabled, and only a message parsing/assembling can be used.

Comma delimited list could be used to specify more than one listen port.

0

LocalInterfaces Specifies local interfaces where engine listen for incoming connections. Each local interface specification could specify the local IP address and port. For instance "localhost" and "192.168.0.1:4501" are valid values. When a local interface specification contains the same port as specified at listenPort settings the listening appears only on the interface and port specified at localInterface setting.

Empty

Log.CreateEngineLogFile Option to create the FIX Engine log file.

true

Log.Directory Inbound and outbound messages, session's state data and the FIX Engine log file (FixEngineLog.txt) are stored in this directory.

MsgStorage

Log.BeforeSending Option to switch on/off logging of outbound messages before/after sending.

true

LogFileName Specifies the FIX Engine log file name.

FixEngineLog.txt

LocalTimeUsage Specifies the usage of local time in FIX Engine events and log files.

false

Log.InboundMessages Option to log inbound messages.

true

Log.OutboundMessages Option to log outbound messages.

true

ProcessDeliverToCompID Option to process the DeliverToCompID (tag 128) flag.

false

ReasonableTransmissionTime

The reasonable transmission time as % from HeartBtInt value.

When either end of the connection has not received any data for (HeartBtInt * (100 + ReasonableTransmissionTime)/100) seconds, it will transmit a Test Request message.

If there is still no Heartbeat message received after (HeartBtInt * (100 + ReasonableTransmissionTime)/100) seconds, then the connection should be considered lost, and a corrective action is initiated.

20

Reconnect.Attempts Number of attempts to restore the FIX connection.

3

Reconnect.Interval The time interval between the attempts to restore the FIX connection (in seconds).

180

Resending.QueueSize Number of sent messages that are available for resending on counterparty's Resend Request <2> message.

1000

Resending.ResendRequestMaximumRange The maximum number of messages to be requested in one Resend Request (MsgType=2) message.

0 (Unlimited)

ReportNewMessagesWhileWaitingForMissedMessages When the message gap is detected the Resend Request <2> FIX Message is sent and Session state is changed to "AwaitReplyOnResendRequest". 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. This property allows to change this behavior and report the new messages anyway. 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') and some messages could be received two times: first time without PossDupFlag='Y' and second time - with this flag.

false

Session.SendLogoutOnException Option to send the Logout message before dropping the telecommunication link, in case of Exception, during the processing of incoming FIX message.

false

SpecifyApplVerIdField Option to specify ApplVerID(1128) tag in all application FIX messages when a FIX protocol version FIX 5.0 and above is used

true

SpecifyLastMsgSeqNumProcessed Option to specify the LastMsgSeqNumProcessed (tag=369) field on every message sent. Useful for detecting a backlog with a counterparty.

false

SSL.CertificateFile The path to the TLS/SSL certificate file in (Privacy Enhanced Mail) Base64 encoded (.pem) format. This file can refer to a certificate chain file with multiple CA certificates.

Empty

SSL.ListenPort

FIX Engine listens on this port for incoming TLS/SSL connections:

  • If it is set to '0', then only TLS/SSL-based session-initiators can be created.
  • If it is set to '-1', then the TLS/SSL encryption is disabled.

Comma delimited list could be used to specify more than one TLS/SSL listen port.

0

SSL.LocalInterfaces Specifies local interfaces where engine listen for incoming TLS/SSL connections.

Empty

SSL.PrivateKeyFile The path to the TLS/SSL private key file in (Privacy Enhanced Mail) Base64 encoded (.pem) format.

Empty

SSL.PrivateKeyPassword The password to load private keys that are protected by a password.

Empty

SSL.VerifyPeer Option to request counterparty certificates and perform the certificate verification.

false

SSL.ClientSni Option to enable the client-side TLS/SNI extension (Server Name Indication).
  • if it is empty, then SNI extension is not enabled.
  • if it is set to "*" (wildcard), then SNI extensions will be enabled and server name will be the same as the connection URL (domain name).
  • other values enable SNI extension and will be used as a server name.

Empty

SSL.CaFile The path to the trusted certification authority certificate file in (Privacy Enhanced Mail) Base64 encoded (.pem) format.

Empty

SSL.MinProtocolVersion The minimal SSL/TLS protocol version that will be declared during the SSL/TLS handshake.

0 (OnixS::FIX::SslProtocolMinMaxVersion::LowestHighest)

SSL.MaxProtocolVersion The maximal SSL/TLS protocol version that will be declared during the SSL/TLS handshake.

0 (OnixS::FIX::SslProtocolMinMaxVersion::LowestHighest)

ServiceThreadAffinity Specifies the CPU index(es) for affinity of the Engine service threads. Symbol ',' is used as the cpu index delimiter.

Empty

ServiceThreadPriority Specifies the priority of the Engine service threads.

255 (OnixS::FIX::Session::UndefinedPriorityAndPolicy - OS default value is used)

ServiceThreadPolicy Specifies the policy of the Engine service threads.

255 (OnixS::FIX::Session::UndefinedPriorityAndPolicy - OS default value is used)

ScrambleLogonFields Specifies scramble fields in the Logon message, in the session storage and FIX Engine log, for security reasons. Symbol ',' is used as the tag number delimiter.

Empty

SendQueueMaxSize The send queue maximum size in bytes.

536870912 (0.5 Gb)

ThreadPoolSize The size of the shared thread pool that uses in the thread pool connection mode.

0

Validate.EmptyFieldValues Option to validate the empty field values of FIX messages in accordance with the FIX protocol or its FIX Dictionary.

false

Validate.FieldValues Option to validate the field values of FIX messages in accordance with the FIX protocol or its FIX Dictionary.

false

Validate.RepeatingGroupEntryCount Option to validate that the declared number of FIX Repeating Groups instances is equal to the actual one.

true

Validate.RepeatingGroupLeadingTag Option to validate that FIX Repeating Groups entry starts with the required dictionary leading tag.

false

Validate.RequiredFields Option to validate the presence of required fields in inbound and outbound messages.

false

Validate.UnknownFields 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.

false

Validate.UnknownMessages 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).

false

Validate.DuplicatedField Option to validate the presence of fields which appears more than once.

false

Validate.Checksum Option to validate the checksum of incoming messages.

false

UseSpinLock Option to use a spinlock mutex instead of the standard one.

false