FIX Antenna reads the configuration parameters by default from the engine.properties file during initialization.
The user can also assign another name for the configuration file, such as the Engine::FixEngine::init(const std::string& aPropertiesFileName = "")
call parameter.
For example:
Engine::FixEngine::init("FE.properties") |
The top of the directory tree under which the Engine's configuration and log files are kept.
DO NOT add a slash at the end of the directory path.
Optional. Port or several ports delimited by a comma on which acceptors listen to FIX sessions' incoming connections.
One incoming port can be used for several sessions.
The parameter may not be set for the entire application or sessions only. In this case, the FIX Engine will not accept connections.
Optional. Engine's log file name. If this parameter is commented or empty, LogFileName = "engine.log" as default.
Actually represents the alias for the "Log.Engine.File.Name" parameter. If both parameters are specified simultaneously, then:
Optional. The local IP address of the network interface accepting incoming connections.
Default 0.0.0.0 - listens to connections at all network interfaces.
The expected IP address of a remote connecting party. Incoming connections from other endpoints will be filtered out.
If the real value is not equal to the expected one, then the connections are disconnected without sending a message and the error condition is generated in the log output.
Default 0.0.0.0 - accepts all connections from IP addresses on every network interface.
The license file path.
This property is the path of the directory in which the logs for all incoming (if LogIncomingMessages is set to "true") and outgoing FIX messages are stored.
It is possible to specify a path related to the EngineRoot directory. For example, if LogDirectory is set to "logs", then the real path is /logs. The specified directory must exist.
Optional. Engine's local IP address to send messages from.
It is used only for multi-homed hosts. If this parameter is commented or empty, the Engine will send IP datagrams from any/all local addresses.
A number of threads that serve FIX sessions (heartbeat generation/check, message rejecting, message delay delivering, etc.).
The recommended value is 10. The value must be an integer and greater than zero.
Changing this value will impact the performance of the FIX Engine. The most efficient parameter value should be distinguished during testing. |
Workers are used for the following operations:
|
Optional. This parameter sets strategy for processing out-of-sequence messages. Parameter is available since FIX Antenna 2.23.0
Valid values:
Is not supported for FAST sessions |
Default value: RequestAlways.
Optional. The size of temporary queue for processing out-of-sequence messages (measured in a count of messages). The parameter is used if parameter OutOfSequenceMessagesStrategy=Queue. Parameter is available since FIX Antenna 2.23.0
Default value is 2000.
A queue should be cleared after exceeding the limit out-of-sequence messages and a new resend request should be sent.
This parameter sets the time period after which a session is non-gracefully terminated if a response is not received to a first "Logon" message (message type A).
The corresponding Logout message is sent to the counterparty. This value is in seconds. The recommended value is 30 seconds for dedicated connections or private networks. Trading connections via the internet will require calibration. If it is set to "0", then the time period is unlimited. The value must be integer and not negative.
This parameter sets the time period after which a session is automatically terminated if a response is not received to a "Logout message" (message type 5).
This value is in seconds. The recommended value is 10 seconds for dedicated connections or private networks. Trading connections via the internet will require calibration. The value must be an integer and greater than 0.
An option not to reset sequence numbers after Logout.
Valid values:
If set to true, sequence numbers are not reset after Logout. Logout sender should initiate session recovery by sending Logon message with SeqNum = <last outgoing="" seqnum>=""> + 1; expecting reply Logon with SeqNum = <last incoming="" seqnum>=""> + 1. If a gap is detected, standard message recovery or gap filling process takes place.
If set to false, sequence numbers are reset after Logout.
This parameter specifies the delta (increment) to the Heartbeat interval between a TestRequest message being sent by FIX Engine and a Response Heartbeat being received.
The session attains a "telecommunication failed state" if no Response Heartbeat message is received after the normal Heartbeat interval plus delta. For example, if no message (application or session level) is received during the Heartbeat interval, the engine sends the TestRequest message. If the required Response Heartbeat message is not received during Heartbeat interval plus Delta, then the session moves to the "Telecommunication link failed" state. This parameter is specified in (Heartbeat Interval/100). The recommended value is 20%.
This parameter allows to resolve sequence gap problem automatically.
When the mode is ON, the session uses the 141(ResetSeqNumFlag) tag in sending/confirming Logon message to reset SeqNum at the initiator or at the acceptor. Valid values:
Specifies how much same ResendRequests received before Application::onResendRequestLoop is called.
This option is disabled if value is less than 2.
This parameter defines the list of additional (custom) protocols which require registering of the corresponding parsers.
When FIX Antenna is started, all dictionaries from DictionariesFilesList are loaded. If dictionaries are standard, predefined standard parsers (like FIX40; FIX41; FIX42; FIX43; FIX44; FIXT11) are created basing on them. If any dictionary from DictionariesFilesList is custom, parser is not automatically created and therefore such parsers should be listed in the AdditionalParsersList parameter.
Format of the value: [UNIQUE_PARSER_NAME@][FIXT_PROTOCOL1:]APP_PROTOCOL1[,APP_PROTOCOL2...], where:
Below are examples of possible parsers with correct format:
These are examples of one entry. Entries can be combined with semicolon to define more than one parser:
AdditionalParsersList = FIX44; FIXT11:FIX50SP2; FIXT11:FIX50SP2,FIX50SP1; MyFixParser@FIXT11:FIX50SP2,FIX50SP1 |
Parsers are not used for Market Data Adapters and for FAST Sessions. |
FIX Engine has inbuilt FIX message routing capability and fully supports the "Deliver To On Behalf Of" mechanism as specified by the FIX protocol.
If this parameter is set to "true", Engine redirects FIX messages automatically to other FIX sessions it maintains if the OnBehalfOfCompID field in the message is defined. If this parameter is set to "false", Engine directs all messages received to the client application.
This parameter specifies the time interval between attempts to deliver an application level message to a registered client application in the event the application does not confirm receipt and operation upon the message.
The value is specified in milliseconds. The value must be integer and greater than 0. This parameter is required only if the DelayedProcessing.MaxDeliveryTries parameter is specified.
Optional. This parameter specifies the number of attempts that will be made to deliver an application level message to the registered client application.
If this value is exceeded then the session will be closed with the logout reason "Application not available". The recommended value is 10. The value must be an integer and not negative.
This parameter specifies the time interval between reconnection attempts in order to restore a communications link.
This value is specified in milliseconds (seconds*10-3). The recommended value is 1000 for dedicated connections and private networks. Internet connections require calibration. The value must be an integer and greater than 0.
This parameter specifies the number of attempts to restore the session.
The session is considered as restored if the telecommunication link was restored and the exchange of Logon messages was successful. If it is set to "-1", then the number of attempts is unlimited. This value is integer.
Optional. This parameter sets the time period after which a message rejecting is started while the session doesn't exist.
Value is specified in milliseconds (seconds*10-3), must be integer and greater than 0.
This parameter is an option whereby the version of FIX protocol used for the outgoing message is validated against that of the established session.
If set to "true", then the application must use the same version of the protocol as the established session otherwise an error occurs. If set to false then the application level message will be sent to the counterparty. The recommended value is "true".
Changing this value will impact the performance of FIX Engine. In the development should be true. In production should be false. |
Resend Request resend messages by blocks.
This parameter defines how many messages proceed in block. The value “0” means that all messages will be resent in one block. The value must be an integer and not less than 0.
The default value is "1000".
Optional. An option to send a Logon message with the ResetSeqNumFlag set after each 24 hour period of session's activity to establish a new set of sequence numbers (starting with 1).
The default value is false.
This option does not affect sessions which use version 4.0 of the FIX protocol. |
This parameter contains a list of names of XML files with extensions of the FIX protocols delimited by semicolon.
Encryption config file name.
Specifies the total amount of the memory (in MB) that active session may use.
0 - means infinite. When the limit is reached, the "hardest" sessions will be closed non-gracefully.
If this property value is true, all session parameters will be printed to the engine.log file.
Optional. This parameter sets strategy for processing out-of-sequence messages for specific session. Parameter is available since FIX Antenna 2.23.0
Valid values:
Is not supported for FAST sessions |
Default value is Engine parameter OutOfSequenceMessagesStrategy.
Old parameters DeliverAppMessagesOutOfOrder, SuppressDoubleResendRequest must be removed for specified strategy for sessions. Old parameters have higher priority. |
Optional. The size of temporary queue for processing out-of-sequence messages (measured in a count of messages). The parameter is used if parameter OutOfSequenceMessagesStrategy=Queue. Parameter is available since FIX Antenna 2.23.0
Default value is Engine parameter OutOfSequenceMessagesStrategy.QueueSize.
A queue should be cleared after exceeding the limit out-of-sequence messages and a new resend request should be sent.
The priority of the socket Send/Receive operations.
Valid values:
DIRECT_SEND - use the current thread for sending, if this would block, performs as "EVEN".
Optional.
Defines a polling interval in microseconds for reading data from the socket.
Works only with aggressive sessions i.e. Engine::AGGRESSIVE_RECEIVE_SOCKET_OP_PRIORITY
or Engine::AGGRESSIVE_SEND_AND_RECEIVE_SOCKET_OP_PRIORITY
modes.
Setting lower value reduces the latency but causes high CPU utilization.
The default value is 500 microseconds.
There will not be a delay after an attempt to receive a message if the socket buffer still is not empty. |
For Initiator FIX Session:
Mandatory if SSL is used. Enable SSL support for the session.
Default value is false.
For Acceptor FIX Session:
Optional. If true, accept SSL connection only. If false, accept both SSL and non-SSL connections for the session.
Default value is false.
Introduced in FIX Antenna 2.26 |
Name of unique parser for FIX protocol
Introduced in FIX Antenna 2.25.1 |
Role of the session
Introduced in FIX Antenna 2.25.1 |
The host for initiator session
Introduced in FIX Antenna 2.25.1 |
TCP port for connection to the remote site
Introduced in FIX Antenna 2.25.1 |
Port dedicated for a session.
For initiators, it acts as a destination port.
For acceptors, it is a port (or several ports delimited by a comma) that listens to incoming connections for a specified session.
The same incoming port cannot be re-used for several sessions. |
The Engine stops to accept connections to the given port when the session is no longer used, i.e. terminated. For example, the session is terminated according to the schedule.
Introduced in FIX Antenna 2.28.0 |
ListenAddress
The local IP address of the network interface accepting a specified session.
Default 0.0.0.0 - listens to connections on all network interfaces.
Introduced in FIX Antenna 2.28.0 |
The heartbeat Interval in seconds for the initiator session
Introduced in FIX Antenna 2.25.1 |
Path to file with a Custom logon message for the initiator.
The default value is empty.
The character used as a tags delimiter in a FIX message. The default delimiter is 'SOH'.
Introduced in FIX Antenna 2.28.0 |
This property provides an option to log incoming FIX messages (those received) from a counterparty FIX Engine.
They will be stored in the directory specified by the LogDirectory parameter in a file with extension "in".
Changing this value will impact the performance of FIX Engine. In the development should be true. In production should be false. |
This parameter defines the upper limit to the number of outgoing messages that are resent in the event of a Resend Request.
The recommended value is 20000 if no data on mean activity is known.
Changing this value will impact the performance of FIX Engine. Large storage increases application working set. |
If this parameter is true than file streams are flushed after each I/O operation.
Changing this value will impact the performance of FIX Engine. In the development and in production should be true. |
Optional. An option to write timestamps in the log files.
The default value is true.
Changing this value will impact the performance of FIX Engine. In the development should be true. In production should be false. |
Setting property "true" will reserve 10MB of disc space for logging.
If log reaches 10Mbs, another 10Mbs will be reserved and so on. When property is "true" FixAntenna performance is greatly increased.
Specifies the amount of memory in bytes reserved for memory mapped file message storage for *.out/*.in files.
It defines how FIX Antenna reserves space on the HDD for PersistentMM (in any cases) and Persistent (if EnableIncrementalLogFileCreation is ON). It is recommended to set large enough value to minimize the number of resizes during the storage life time. Each resize can cause a latency spike.
Changing this value will impact the performance of FIX Engine. |
Specifies the amount of memory in bytes reserved for memory mapped file message storage for *.idx file It defines how FIX Antenna reserves space on the HDD for PersistentMM (in any cases) and Persistent (if EnableIncrementalLogFileCreation is ON).
It is recommended to set large enough value to minimize the number of resizes during the storage life time. Each resize can cause a latency spike.
Changing this value will impact the performance of FIX Engine. In the development should be true. In production should be false. |
This property is the path to the directory, where sliced message storage will search for log files in case they are not found in the primary location.
It is the user's responsibility to move files from the primary location to backup. The default value is empty - backup path disabled.
Specifies the maximum size of one slice for sliced message storage.
Storage slices are created with step, specified with Persistents.LogIncrementSize parameter value. If MaxSliceSize value is no multiple of Persistents.LogIncrementSize,result file size will be less, than specified. If value is less than LogIncrementSize, LogIncrementSize value will be used. |
Recommended value: any multiple of Persistents.LogIncrementSize Default value is 500000000 - 500Mb.
Optional. If this parameter is true, FIX Engine will try to restore the index file from the log file in case the index file is missed or corrupted. The default value is false.
Please be careful when you enable this property: restoring process uses some heuristic algorithms, and some data (not messages) could be missed. |
Optional. If this option is enabled, FIX Engine will not rebuild index files for message storages, that does not support the embedded Reject Flag Marker. The default value is "true".
This property specifies precision of timestamps in session logs (.in / .out storage files).
Possible values are: "millisecond", "microsecond", "nanosecond".
Optional. The property is global for all sessions. The default value is "millisecond".
This parameter provides an option whereby FIX Engine will accept a FIX session for which it has no registered application (an acceptor).
If set to 'true', Engine accepts an incoming connection and creates the corresponding Session object. If there is no Application associated with the session, all application level messages are rejected with the Application Level Reject(3) message. If an application is registered, the behavior is as standard. If set to 'false', Logon messages are ignored and the incoming connection is dropped. Property is obsolete, UnregisteredAcceptor.CreateSession should be used instead.
This parameter provides an option whereby FIX Engine will accept a FIX session for which it has no registered application (an acceptor).
If set to 'true', Engine accepts an incoming connection and creates the corresponding Session object. If there is no Application associated with the session, all application level messages are rejected with the Application Level Reject(3) message. If an application is registered, the behavior is as standard. If set to 'false', Logon messages are ignored and the incoming connection is dropped.
Optional
Port (or several ports delimited by a comma) on which acceptors listen to incoming connections for not registered FIX sessions. The same incoming port can be used for several sessions.
The local IP address of the network interface is accepted for not registered FIX sessions.
Default 0.0.0.0 - listens to connections on all network interfaces.
The expected IP address of a remote connecting party for not registered sessions.
If the real value is not equal to the expected one, then the connections are disconnected without sending a message and the error condition is generated in the log output.
Default 0.0.0.0 - listens to connections on all network interfaces for all IP addresses.
This parameter allows accepting sessions with seqNum in the Logon lower than it is expected by FIX Engine.
When true, the session continues with the received seqNum.
FA is able to join packages that wait for sending into the socket, these parameters control how many messages could be joined.
0 means infinite. The value should be less than 1000000.
When true, unregistered acceptors will reject messages in case they couldn't be sent during the interval specified in the MessageTimeToLive parameter.
You can find more information about how to use this parameter here: How to use "RejectMessageWhileNoConnection" parameter
When true, the TCP buffer (Nagle algorithm) will be disabled for unregistered acceptors.
Otherwise, TCP may join and enqueue small packages until timeout ends.
Default storage type of created unregistered sessions.
By default, the persistentMM storage type is used. Use the "transient" value to use transient storage for the sessions.
Mandatory. Defines whether each application message is checked for the existence of required tags.
Valid values: "true" | "false"
If set to ‘true’, all application-level messages are checked. If set to ‘false’, the responsibility for message validity rests with the counterparty.
Note: Session level messages are checked in all cases. The recommended setting is ‘false’. Changing this value will impact the FIX Engine performance. Use ‘true’ for debugging and ‘false’ to increase performance.
Default value: MessageMustBeValidated = false
Optional. Defines whether each application message is verified for tag values.
Valid values: "true" | "false"
If set to ‘true’, all messages will be verified. If set to 'false', the responsibility for message verification rests with the counterparty.
Note: Ignored if MessageMustBeValidated = false
Default value: VerifyTagsValues = true
Optional. Defines whether each application message is checked for the unknown tags.
Valid values: "true" | "false".
If set to ‘false’, all application messages with unknown tags will be processed. If set to ‘true’, the Engine will reject messages with unknown tags.
Note: Ignored if MessageMustBeValidated = false
Default value: ProhibitUnknownTags = false
Optional. Defines whether each application message is verified for repeating group size.
Valid values: "true" | "false".
If set to ‘true’, the Engine will reject messages with incorrect repeating group size. Otherwise, the message will be passed to the application layer. In this case, the responsibility for message validity rests with the counterparty.
Note: Ignored if MessageMustBeValidated = false
Default value: VerifyReperatingGroupBounds = true
VerifyReperatingGroupBounds = "false" has no effect since FIX Antenna 2.26 |
Valid values: "true" | "false".
Mandatory. If set to 'true', the unknown (undefined or user's) fields would not affect the message processing. In this case, FIX Engine removes unknown fields so that performance can be increased. If set to 'false', the unknown tags will remain in the message consuming memory and reducing performance.
Note: Ignored if MessageMustBeValidated = false
Default value: IgnoreUnknownFields = false
Optional. Controls the validation of required fields in the repeating group.
Valid values: "true" | "false".
If set to ‘true’, repeating groups will be checked for the presence of required fields. If set to ‘false’, the responsibility for repeating group validity rests with the counterparty. The recommended setting is 'true'.
Note: Ignored if MessageMustBeValidated = false
Default value: Validation.CheckRequiredGroupFields = true
Mandatory. Defines whether the raw message may contain tags without values.
Valid values: "true" | "false".
If set to ‘true’, the raw message may contain tags without values that will be ignored. Otherwise, an exception will be fired.
Default value: AllowEmptyFieldValue = false
Customformatoflogfilerecord. Can be defined separately for each log file e.g. Log.Version.File.Format = ...
Format string can contain any symbols and keywords:
Default value:
Log.File.Format = [%level] %tablevel%date{FIX} [%thread] [%logger] - %message |
If true new unique file name will be created. Log.File.Name value is a pattern.
If false Log.File.Name will be used as a file name.
If Log.Device is not specified explicitly (in other words, Log.Device = "File" as default), Log.File.CreateUniqueFileName = "false" as default.
Enables/disables log file cycling.
Valid values:
If set to true, then repeating records in logs will be controlled and replaced with the single "cycling record" according to the specified cycling parameters. Seecyclling parameters described below for details.
Number of repeating records to be placed to log before cycling is started.
Example: Log.Cycling.Ignore = 3
Number of repeating records to be accumulated (hidden) before write the "cycle record" to the log.
Example: Log.Cycling.BlockSize = 10
Multiplier for the BlockSize. If BlockSize number of messages is accumulated and the same message still appears then next BlockSize is calculated as the previous one multiplied by Multiplier.
Example: Log.Cycling.Multiplier = 10
Default target devices.
Valid values:
Log4Cplus - messages will be written to Log4Cplus (since FIXEdge version 6.7)
If Log.Device is not specified explicitly, Log.Device = "File" as default.
The properties of the device are in the "Log.<name>" section. For instance Log.File contains all properties of the File device.
Multiple devices can be chosen - the names of devices should be separated by a space in this case. E.g.: by setting Log.Device = File Log4Cplus
logging will be performed with both creating standard log files and forwarding to Log4Cplus.
Log4Cplus can be used to send log messages to external services such as Splunk. FIXEdge does not guarantee each log message delivery when:
In these cases, FIXEdge will drop the messages it was unable to send. |
A string that specifies the name of the source. The source name must be a subkey of a log file entry under the EventLog key in the registry.
For example, "WinApp" is a valid source name if the registry has the following key: "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Event Log\Application\WinApp".
If set to 'true', then buffer will be flushed after each logging call.
If set to false then flush is not called.
Setting to true decreases program performance; setting to false increases a risk of records loss in case of program failure.
Optional. Local time when logs should be backed up. When the specified backup time comes, the scheduler moves log files to the specified backup directory.
Should be in format 'hh:mm' or 'hh:mm:ss'.
If set to true then lock file <Log.File.RootDir/Log.File.Name>.lock will be created. This will prevent other instance of the application use the same file.
Valid values:
Specifies if FIX Engine should create a new file with a unique name or append logs to the existing file.
Valid values:
The root directory for log files. It will be concatenated with each file name specified by 'Log.File.Name'. If Log.Device is not specified explicitly (in other words, Log.Device = "File" as default), Log.File.RootDir = LogDirectory as default.
You can find more information about how to configure paths to log files here: How to configure paths to FIXEdge log files.
Enables/disables log file rotation.
Valid values:
If set to true, after the specified file size is reached, it is renamed and a new log file is created. See rotation parameters described below for details.
Sizeoffileinbytes.Whenlogfilereaches this size it is renamed (follow standard rotation approach) and the new file is created.
Example: Log.File.Rotate.SizeLimit = 104857600
Number of files to be involved in rotation. When the number is exceeded, the older file is removed.
Example: Log.File.Rotate.FileLimit = 10
Rotation directory. Directory to store rotated files.
Example: Log.File.Rotate.Dir = <%SERVICE_NAME%>/log
Time zone of the log message timestamp.
Valid values:
File name. If more than one category uses files with the same name, the same file will be used simultaneously.
Enable Debug messages.
Valid values:
Enable Error messages.
Valid values:
Enable Fatal Error messages.
Valid values:
Enable Note messages.
Valid values:
Starting from FIX Antenna 2.10.16.3, Note messages are indicated as INFO records in logs. |
Enable Warning messages.
Valid values:
Enable Trace messages.
Valid values:
Enableswritingofdebuglog records fromOpenLDAPlibrary to the logs. The parameter has been added since FIXEdge 6.2.
Valid values:
Defines an affinity mask for all worker pool threads.
Affinity is specified as bit mask where the serial number of the bit is the serial number of the core if read from the right to the left. Mask should be presented in the decimal system.
E.g. to specify second, third and fourth cores, the affinity in bytes will look like "1110". It is "14"in the decimal system. So, for proper use the property should be set in the following way:
|
Default value is 0. It means that the Engine will not change thread affinity mask.
Defines an affinity mask for dispatcher and other auxiliary threads.
Affinity is specified as bit mask where serial number of the bit is the serial number of the core if read from the right to the left. Mask should be presented in the decimal system.
E.g. to specify third and fourth cores, the affinity in bytes will look like "1100". It is "12"in the decimal system. So, for proper use the property should be set in the following way:
|
Default value is 0. It means that the Engine will not change thread affinity mask.
Specifies affinity mask for dedicated threads of session. It makes sense only for aggressive modes.
Affinity is specified as bit mask where serial number of the bit is the serial number of the core if read from the right to the left. Mask should be presented in the decimal system.
E.g. to specify fourth, sixth and eighth cores, the affinity in bytes will look like "10101000". It is "168"in the decimal system. So, for proper use the property should be set in the following way:
|
Default value is 0. It means that the Engine will not change thread affinity mask.
Specifies affinity mask for dedicated receiving thread of session. It makes sense only for aggressive receive mode.
Affinity is specified as bit mask where serial number of the bit is the serial number of the core if read from the right to the left. Mask should be presented in the decimal system.
E.g. to specify third, sixth, seventhand eighthcores, the affinity in bytes will look like "11100100". It is "228"in the decimal system. So, for proper use the property should be set in the following way:
|
Default value is 0. It means that the Engine will not change thread affinity mask.
Specifies affinity mask for dedicated sending thread of session. It makes sense only for aggressive send mode.
Affinity is specified as bit mask where serial number of the bit is the serial number of the core if read from the right to the left. Mask should be presented in the decimal system.
E.g. to specify second, fifth and seventhcores, the affinity in bytes will look like "01010010". It is "82"in the decimal system. So, for proper use the property should be set in the following way:
|
Default value is 0. It means that the Engine will not change thread affinity mask.
Relative path to the backup folder.
This folder will be used for message storage files of the backup connections.
Defines if there should be an auto switch to the backup connection in case the primary connection is used and it is interrupted.
Valid values:
Defines if there should be an auto switch to the primary connection in case backup connection is used and it is interrupted.
Valid values:
Monitoring parameters can be defined as defaults (Monitoring.AdminSessionDef.<Name_Of_Parameter>) or for a particular administrative session (Monitoring.AdminSession..<Name_Of_Administrative_Session>.<Name_Of_Parameter>). Below the defining of defaults is presented.
When true TCP buffer (Nagle algorithm) will be disabled for the session.
The expected value of the encryption method.
Force SeqNum reset mode.
An option to use 141 tag in Logon message to reset sequence number.
When true, session ignore 'SeqNum too low' at incoming Logon message and continue with received SeqNum.
Intraday logout tolerance mode.
An option to reset or not to reset sequence numbers after Logout.
Enqueued outgoing messages could merged and sent as a single buffer.
This parameter controls how many messages could be merged into the bunch. The 0 means an infinite amount.
The expected value of the Password (Tag 554) field in the incoming Logon message.
If the real value is not equal to the expected one then the session is disconnected without sending a message and the error condition is generated in the log output.
SenderLocationID (tag 142) - assigned value used to identify specific message originator's location (i.e. geographic location and/or desk, trader).
Priority of the socket SendReceive operations.
Valid values:
DIRECT_SEND - use the current thread for sending, if this would block, performs as "EVEN".
The local IP address of the network interface accepting administrative sessions.
Global parameter for all monitoring sessions.
Default 0.0.0.0 - listens to connections on all network interfaces.
The expected IP address of a remote connecting party for administrative sessions.
If the real value is not equal to the expected one, then the connections are disconnected without sending a message and the error condition is generated in the log output.
Global parameter for all monitoring sessions.
TargetLocationID_ (tag 143) - assigned value used to identify specific message destination's location (i.e. geographic location and/or desk, trader).
TargetSubID (tag 57) - assigned value used to identify a specific individual or unit intended to receive messages.
The expected value of the Username (Tag 553) field in the incoming Logon message.
If the real value is not equal to the expected one then the session is disconnected without sending a message and the error condition is generated in the log output.
Port (or several ports delimited by a comma) on which FIX Engine accepts administrative FIX sessions. The name of this session starts with 'Monitoring'.
Ports from the lists will be added to a set of Engine listening ports. But only administrative sessions will be accepted on these ports.
Does not support a secure connection. To enable SSL on Monitoring.ListenPort, the port number must be also added to the ListenSSLPort parameter. |
Monitoring.ListenAddress
The local IP address of the network interface accepting administrative sessions.
Default 0.0.0.0 - listens to connections on all network interfaces.
Monitoring.SourceIPaddress
The expected IP address of a remote connecting party for administrative sessions.
If the real value is not equal to the expected one, then the connections are disconnected without sending a message and the error condition is generated in the log output.
Default 0.0.0.0 - listens to connections on all network interfaces for all IP addresses.
Enables/disables Engine measuring.
Valid values:
If this parameter omitted, it is "false" by default.
Enables/disables Engine monitoring.
Optional.
Engine's port (or several ports delimited by a comma) on which acceptors listen to FIX sessions' secure incoming connections.
One incoming port can be used for several sessions.
The parameter may not be set for the entire application or sessions only. In this case, the FIX Engine will not accept connections.
Must not contain the value of ListenPort.
This parameter is similar to ListenPort. It is the list of ports, where SSL connection will be accepted. |
Optional. Engine's SSL CA certificate file path.
Mandatory if ListenSSLPort is not empty. Engine's SSL certificate file path.
Mandatory if ListenSSLPort is not empty. The path to the file containing certificate private key. Certificate and private key can be the same file.
FIX Antenna 2.26 supports certificates in PEM, PFX and DER formats along with private keys in PEM and DER formats. Earlier versions support *.pem certificates only. |
Optional. Engine's SSL option whatever to check if the private key matches the certificate.
Default value is false.
Deprecated since FIX Antenna 2.26. Correspondence between the key and certificate will be checked automatically. FIX Antenna does not establish a session if the key doesn't correspond to the certificate. |
Mandatory. Engine's SSL protocols to use.
It is a comma-separated list of protocols to use. Valid values are SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2.
Since some security issues with SSL v3 and RC4 encryption algorithm have been discovered recently and TLS 1.0, TLS 1.1 also contain known vulnerabilities, we strongly recommend using TLS 1.2 protocol. |
Optional. Whatever client's certificate is mandatory.
Decline clients without a valid certificate if true. The default value is false.
Deprecated since FIX Antenna 2.26. Use SSLValidatePeerCertificate parameter instead. |
Optional. A certificate's password.
Introduced in FIX Antenna 2.26 |
Optional. A private key's password.
Introduced in FIX Antenna 2.26 |
Optional. If set to "true" then client connections without a certificate will be rejected.
The default value is false.
Introduced in FIX Antenna 2.26. Use SSLValidatePeerCertificate parameter instead of deprecated SSLRequireClientCertificate. |
The parameter is optional. The default OpenSSL built-in configuration is used in case of the parameter absence.
The list is passed as is to OpenSSL during engine initialization in case of acceptor sessions (acceptor sessions are sharing the same configuration) and during session initialization in case of initiator sessions. See a list of the supported ciphers and list format is at official OpenSSL site: https://www.openssl.org/docs/man1.0.2/apps/ciphers.html
Introduced in FIX Antenna 2.25.1 |
The set of parameters below is applicable since FIX Antenna C++/.Net 2.24.0 |
The property enables TCP protection.
Valid values: true/false. The default value is false.
The property to specify connection timeout (in milliseconds) of waiting for logon.
Disable when equal to 0. The default value is 0.
The property will be enabled only if ProtectionTCP.Enabled = true
The property to specify a maximum of connections waiting for logon from one host. When the number of connections from the same host exceeds the specified value of the property, new connections will be rejected.
Disable when equal to 0. The default value is 0.
The property will be enabled only if ProtectionTCP.Enabled = true
Specifies the maximum size (in bytes) of the buffer to be able to avoid the situation when users end high-loaded garbage.
When the limit is exceeded, the connection will be closed and the corresponding reason will be written to the log.
The minimum size of the property which can be specified is 262144. If a lower value is specified in the property, it will be replaced with 262144 on the start of the FIXEdge.
If 0 is specified, there is no limit for the size of the buffer.
The default value is 0.
The property will be enabled only if ProtectionTCP.Enabled = true
AnchorFile
Optional. DBL TCP listen address and port.
Format: <XXX.XXX.XXX.XXX>:<port>.
Optional. This property tells how will be initialized Myricom DBL TCP API.
If true, it will use SocketAdaptor to emulate DBL API via generic sockets. The default value is false.
When it's set to true there is being enabled backward resolve based DNS entry spoofing detection mechanism in DNS related functions.
This option is disabled by default. |
If the parameter is enabled, a user should use Fully Qualified Domain Name (FQDN) or IP addresses as configuration/function parameters (e.g. 'workstation1.epam.com' instead of 'workstation1'). Otherwise, errors about DNS spoofing will be reported. |
Defines how to serialize UTCTimestamp or UTCTimeOnly field values:
0 - default mode - if the value of milliseconds is not equal to 0 then it will be serialized.
1 - always serialize milliseconds
2 - always truncate milliseconds
By default, this parameter is 0.
It is a global option for FixEngine. It works only when a value is passed as Engine::UTCTimestamp or Engine::UTCTimeOnly. |