Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

ConnectPort

An outbound port is used to connect to the counter-party. The parameter applies only if the parameter ConnectAddress is specified, for using a port and any network interface ConnectAddress should be set to 0.0.0.0.

Info

Do not confuse this parameter with Port specifying destination port. 

OptionalThe default value is 0 letting the operating system decide what outbound port will be used.

The value of this parameter can't be equal to the value of ListenPort because this port is already occupied by the system.

CustomRawDataTagStrategies

CustomRawDataTagStrategies.<N>.Encoding

CustomRawDataTagStrategies.<N>.Strategy

CustomRawDataTagStrategies.<N>.Tag

CustomRawDataTagStrategies.Count

CustomSessionType

Specifies a type of session type with specific encryption or authentication rules.

The default value is 'GENERIC'.

FixKey

Mandatory if CustomSessionType = LME_SELECT

Specifies a FIX key for LME sessions

CMESecureKeysFile

Mandatory if CustomSessionType = CME_SECURE_LOGON

Specifies a path to CME keys files used for CME secure logon

Note

The parameter is available since FIX Antenna C++ 2.23.0

CyclicSwitchBackupConnection

When true, a connection will be switched from primary to backup and back until the connection will be established.

The default value is 'false'.

DisableTCPBuffer

When true, TCP buffer (Nagle algorithm) will be disabled for a session.

The default value is 'false'.

EnableFastScp

EnableMessageRejecting

When true, the session rejects application messages when the session is unable to send them during a specified period or was disconnected.

The default value is 'false'.

EncryptMethod

FASTCodecParameters.BoolNtoString

FASTCodecParameters.BoolYtoString

ForcedReconnect

When set to 'true' the session will try to reconnect when:

  1. In WaitForConfirmLogon state, when the session received an unconfirmed logon

  2. In WaitForConfirmLogon state, when the logon frame has expired

  3. In Reconnect state, when the session was closed.

The default value is 'false'.

GenerateCheckSum

If false, the session will not calculate CRC for outgoing messages.

The default value is 'true'.

HandleSeqNumAtLogon

HiddenLogonCredentials

Masks password in in/out log files

The default value is 'false'.

IgnoreSeqNumTooLowAtLogon

When true, the session ignores 'SeqNum too low' at an incoming Logon message and continues with the received SeqNum.

The default value is 'false'.

IntradayLogoutToleranceMode

If set to 'false' FIX Engine ends the trading day for the session after Logout (5) from the counterparty and the session becomes correctly terminated. Sequence number reset is expected after receiving the logout.

If set to 'true' FIX Engine will be able to re-establish the session multiple times and treats every disconnection as an unexpected switching session to a NON-GRACEFULLY TERMINATED state. This option is recommended if multiple reconnections are expected during the trading session.

The default value is 'false'.

IsForwardingFixMessagesToLog

KeepConnectionState

When true, primary to backup (and back) connection switching continue using existing message storage.

The default value is 'true'.

LogonMessageSessionQualifierTag

Defines the tag of the field to be used by FIX Engine when dispatching an incoming connection.
SessionQualifier is passed in this field. SenderCompID(49), TargetCompID(56) and this field are used for searching for the appropriated acceptor among existing registered acceptors. The field is optional if the application doesn't intend to accept an incoming connection.
See also SessionId and SessionQualifier Notes 

MaskedTags

Optional. This parameter contains a list of sensitive tags which values should be masked in the log files (for example, Username and Password). These tag values in in/out log files for the messages of A, BE, BF, n types will be replaced with ***. 

Example: FixLayer.FixEngine.Session.TestFIXAcceptor.MaskedTags = 554,553.

The message will be written to the log file in the following way: 8=FIX.4.4^9=85^35=A^49=a_t1^56=a_s1^34=1^52=20161005-17:29:14.339^98=0^108=10^141=Y^553=***^554=***^10=176^

Masks are also applied to User Modification messages (MsgType = CB).

MaxMessagesAmountInBunch

Enqueued outgoing messages could be merged and sent as a single batch with the size specified by this parameter.

The default value is 0 (The 0 means infinite amount).

MaxTagNumberForValidation

Info

Available starting with version 2.29.0

The FIX trading community allows a user to introduce their own tags as user defined tags. The FIX Antenna engine has special rules for the validation of user defined tags. It will accept any tag higher than the MaxTagNumberForValidation, even if the tags are not described in the dictionary. That means that FIX Antenna will not treat these tags as unknown so validation rejects will not be generated for these kinds of tags. If the user needs to validate unknown tags higher than 4999, the user should switch the maximum value as needed by modifying this property. For versions of FIX Antenna prior to 2.29.0, the maximum value of user defined tags was hardcoded as 4999.

Info

The maximum value of user-defined tags can differ from venue to venue. If a venue needs validation, the user should set MaxTagNumberForValidation equal to or higher than the highest tag value of custom tags in the venue's specification.

For example, for ICE, this property should be set to 10,000 or higher because for ICE TC v. 4.11. the highest custom value is 9904.

For CQG, this property should be 60,000 or higher.

The value for this property must be a positive number.

The default value = 4999. This default value maintains backward compatible behavior for FIX Antenna prior to version 2.29.0.


Expand
titleTroubleshooting for MaxTagNumberForValidation

When the maximum tag value in FIX Antenna is not set to a number equal to or higher than the highest tag in a venue's specification, it can lead to an error in message validation. In turn, FIX Antenna may reference an unexpected and incorrect cause of the validation error in the error message it returns.

For example, the attached message ICE_SECDEF_9134.in will result in a validation error due to not defined tag 9134 being in position 254, however, the error explanation (below) shows a different position (99846).

Code Block
8=FIX.4.4|9=200|35=3|49=FIXEDGE|56=SENDER|34=3|52=20201106-11:48:35.966|45=3|371=326|372=d|373=2|58=Tag 326 is not defined for this message type. Parsing stopped at column: 99846 in message d with sequence number 3.|10=181|

MessagesStorageSize

This parameter specifies in-memory messages storage size.

The default value is 20000.

Password

User's password for the session

  • For initiator: Value of this field will be transferred to the acceptor in the Password (Tag 554) field of the Logon(A) message;

  • For acceptor: The value of this field will be compared to the value of the Password (Tag 554) field of the incoming Logon(A) message. If values are not equal, Logon will be rejected.

PasswordTag

Specifies a tag used to store a password

ReconnectInterval

This parameter specifies the time interval between reconnection attempts in order to restore a communications link.
This value is specified in milliseconds. The recommended value is 1000 for dedicated connections and private networks. Internet connections may require calibration.

The value must be an integer and greater than 0.

The default value is 1000.

ReconnectMaxTries

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.

The default value is 3.

ResendRequestBlockSize

Defines the number of messages requested using Resend Request messages.

If the message sequence gap is larger than SessionExtraParameters::resendRequestBlockSize_Session will split resend requests by blocks of SessionExtraParameters::resendRequestBlockSize_ size.

he default value is -1.

SenderLocationID

SenderLocationID (142) assigned value used to identify specific message originator's location (i.e. geographic location and/or desk, trader).

The property is ignored if it is not specified.

SenderSubID

SenderSubID (50) assigned value used to identify specific message originator (desk, trader, etc.).

The property is ignored if it is not specified.

SendingTimestampUnit

Note

The parameter is available since FIX Antenna C++ 2.20.0.

Defines the precision of the timestamp to be specified in 52 tag (SendingTime) and 122 tag (OrigSendingTime) in tags SendingTime (52) and OrigSendingTime (122) in the outgoing message.

Valid values:

  • second
  • millisecond
  • microsecond
  • nanosecond

Default values:

note

The parameter is available since FIX Antenna C++ 2.20.0.

SendLastMsgSeqNumProcessed

SocketBusyPollTime

SocketRecvBufSize

Socket incoming buffer size.

The default value is -1 (unlimited).

SocketSendBufSize

Socket outgoing buffer size.

The default value is -1 (unlimited).

SocketTcpMaxSeg

StorageRecoveryStrategy

StorageType

Message storage type

Valid values:

  • persistent
  • transient
  • persistentMM
  • splitPersistent
  • null- save messages to the disk
  • persistentMM  - save messages to the disk using memory-mapped files
  • splitPersistent - save messages to the disk and limit maximum storage size
  • transient - keep messages in memory
  • null - do not keep session state at all

The default value is 'persistentMM'.

TargetLocationID

TargetLocationID (143) assigned value used to identify specific message destination's location (i.e. geographic location and/or desk, trader).

The property is ignored if it is not specified.

TargetSubID

TargetSubID (57) assigned value used to identify a specific individual or unit intended to receive the message.

'ADMIN' reserved for administrative messages not intended for a specific user.

The property is ignored if it is not specified.

Transport

Low-level transport of the session.

Valid values:

  • SOCKETS - Kernel sockets
  • MYRICOM_DBL - Myricom TADBL sockets

Default value is 'SOCKETS'.

UseAsyncConnect

When true, the session initiator will use async TCP connect.

The default value is 'false'.

UseBlockingSockets

If true, the session will use blocking I/O.
This mode is useful for OpenOnload and is enabled if the aggressive mode is ON.  AggressiveReceiveDelay or Engine::SessionExtraParameters::aggressiveReceiveDelay_ is  are used as a timeout parameter.
See also:

The default value is 'false'. 

Username

User name for the session.

  • For initiator: Value of this field will be transferred to the acceptor in the Username (Tag 553) field of the Logon(A) message;

  • For acceptor: The value of this field will be compared to the value of the Username (Tag 553) field of the incoming Logon(A) message. If values are not equal, Logon will be rejected.

UsernameTag

Specifies a tag used to store a username

Storages

LogIncomingMessages

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 the extension "in".

Note

Changing this value will impact the performance of FIX Engine. In the development should be true. In production should be false.

OutgoingMessagesStorageSize

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.

Note

Changing this value will impact the performance of FIX Engine. Large storage increases application working set.

ExtraSafeMode

If this parameter is true than file streams are flushed after each I/O operation.

Note

Changing this value will impact the performance of FIX Engine. In the development and in production should be true.

TimestampsInLogs

Optional. An option to write timestamps in the log files.

The default value is true.

Note

Changing this value will impact the performance of FIX Engine. In the development should be true. In production should be false.

EnableIncrementalLogFileCreation

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.

Persistents.LogIncrementSize

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.

Note

Changing this value will impact the performance of FIX Engine.

Persistents.IdxIncrementSize

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.

Note

Changing this value will impact the performance of FIX Engine. In the development should be true. In production should be false.

SplitPersistentMsgStorage.BackupDir

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.

SplitPersistentMsgStorage.MaxSliceSize

Specifies the maximum size of one slice for sliced message storage.

Note
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.

MessageStorage.IndexRebuildEnabled

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.

Note
Please be careful when you enable this property: restoring process uses some heuristic algorithms, and some data (not messages) could be missed.

MessageStorage.RequireRejectFlagSupport

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".

MessageStorage.TimestampUnit

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".

Unregistered Acceptors parameters

CreateUnregisteredAcceptorSession

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.

UnregisteredAcceptor.CreateSession

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.

UnregisteredAcceptor.IgnoreSeqNumTooLowAtLogon

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.

UnregisteredAcceptor.maxMessagesAmountInBunch

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.

UnregisteredAcceptor.RejectMessageWhileNoConnection

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

UnregisteredAcceptor.tcpBufferDisabled

When true, the TCP buffer (Nagle algorithm) will be disabled for unregistered acceptors.

Otherwise, TCP may join and enqueue small packages until timeout ends.

UnregisteredAcceptor.SessionStorageType

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.

Message Validation parameters

MessageMustBeValidated

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

VerifyTagsValues

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

ProhibitUnknownTags

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

VerifyRepeatingGroupBounds

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 an incorrect repeating group size. Otherwise, the message will be passed to the application layer. 

Note: Ignored if MessageMustBeValidated = false

Default value: VerifyRepeatingGroupBounds = true

Info

VerifyRepeatingGroupBounds = "false" has no effect since FIX Antenna 2.28.1

Prior to FIX Antenna version 2.28.1, VerifyRepeatingGroupBounds was called VerifyReperatingGroupBounds.

IgnoreUnknownFields

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

Validation.CheckRequiredGroupFields

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

AllowEmptyFieldValue

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

AllowZeroNumInGroup

The parameter defines if Engine should accept repeating groups with a group size equal to '0' and no entries.

Valid values: "true" | "false".

If set to ‘true’, FIX Engine will accept messages as is. Otherwise, the empty group would be removed from the message.

Default valueAllowZeroNumInGroup = false

AllowMessageWithoutPossDupFlag

ValidateCheckSum

Validation.AllowZeroNumInGroup

Validation.IgnoreUnknownFields

Validation.IsEnabled

Validation.ProhibitDuplicatedTags

Validation.ProhibitTagsWithoutValue

Validation.ProhibitUnknownTags

Validation.VerifyRepeatingGroupBounds

Optional. If set to 'true', verifies a repeating group size for messages received by the session. Invalid messages will be rejected.

It has a higher priority than VerifyRepeatingGroupBounds.

Valid values: "true" | "false".

Note: Ignored if MessageMustBeValidated = false

Default value: Validation.VerifyRepeatingGroupBounds = true

Info

Validation.VerifyRepeatingGroupBounds = "false" has no effect since FIX Antenna 2.28.1

Prior to FIX Antenna version 2.28.1, Validation.VerifyRepeatingGroupBounds was called Validation.VerifyReperatingGroupBounds.

Validation.VerifyTagsValues

Logging parameters

Log.File.Format

Customformatoflogfilerecord. Can be defined separately for each log file e.g. Log.Version.File.Format = ...

Format string can contain any symbols and keywords:

  • %% - put '%' symbol;
  • %level - put severity level name: 'ERROR', 'WARN' etc.;
  • %tablevel - put extra spaces for vertical alignment of records after %level;
  • %date{FIX} - date in 'YYYYMMDD-HH:MM:SS.sss' format;
  • %date{ISO8601} - date in 'YYYY-MM-DD HH:MM:SS,sss' format;
  • %date - date in 'DD MMM YYYY HH:MM:SS,sss' format;
  • %timezone - time zone abbreviation or name (setup TZ env variable to take abbreviation in windows) or 'UTC';
  • %logger - log category, component;
  • %thread - thread id;
  • %thread_name - prints a name of the thread
  • %message - logged message.

Default value:

Code Block
languagebash
Log.File.Format = [%level] %tablevel%date{FIX} [%thread] [%logger] - %message

Log.File.CreateUniqueFileName

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.

Log.Cycling

Enables/disables log file cycling. 

Valid values:

  • true - to enable cycling;
  • false - to disable cycling.

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.

Log.Cycling.Ignore

Number of repeating records to be placed to log before cycling is started.

Example: Log.Cycling.Ignore = 3

Log.Cycling.BlockSize

Number of repeating records to be accumulated (hidden) before write the "cycle record" to the log.

Example: Log.Cycling.BlockSize = 10

Log.Cycling.Multiplier

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

Log.Device

Default target devices.

Valid values:

  • File - messages will be written to the file;
  • Console - messages will be written to the console;
  • EventLog (Windows specific) - messages will be written to the Windows Event Log;
  • WinDebug (Windows specific) - messages will be written to the OutputDebugString;
  • Syslog (Linux/Unix specific) - messages will be written to the system log.
  • 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.

Warning

Log4Cplus can be used to send log messages to external services such as Splunk. FIXEdge does not guarantee each log message delivery when:

  1. Log message receiver is not available (not listening on the given port).
  2. Log message receiver throughput is less than log flow produced by FIXEdge.

In these cases, FIXEdge will drop the messages it was unable to send.

Log.EventLog.EventSource

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".

Log.File.AutoFlush

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.

Log.File.Backup.Time

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'.

Log.File.Locked

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:

  • true - lock log file;
  • false - do not lock log file.

Log.File.Recreate

Specifies if FIX Engine should create a new file with a unique name or append logs to the existing file.

Valid values:

  • true - the new log file will be created on each start. The filename contains a timestamp of creation.
  • false - the engine appends the logs to the already created file.

Log.File.RootDir

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 = LogDirectoryas default.

You can find more information about how to configure paths to log files here: How to configure paths to FIXEdge log files.

Log.File.Rotate

Enables/disables log file rotation.

Valid values:

  • true - to enable rotation;
  • false - to disable rotation.

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.

Log.File.Rotate.SizeLimit

Sizeoffileinbytes.Whenlogfilereaches this size it is renamed (follow standard rotation approach) and the new file is created.

ExampleLog.File.Rotate.SizeLimit = 104857600

Log.File.Rotate.FileLimit

Number of files to be involved in rotation. When the number is exceeded, the older file is removed.

Example: Log.File.Rotate.FileLimit = 10

Log.File.Rotate.Dir

Rotation directory. Directory to store rotated files.
Example: Log.File.Rotate.Dir = <%SERVICE_NAME%>/log

Log.File.TimeZone

Time zone of the log message timestamp.

Valid values:

  • Local - display time as local;
  • UTC - UTC.

Log.File.Name

File name. If more than one category uses files with the same name, the same file will be used simultaneously.

Log.DebugIsOn

Enable Debug messages.

Valid values:

  • true - to enable Debug messages;
  • false - to disable Debug messages.

Log.ErrorIsOn

Enable Error messages.

Valid values:

  • true - to enable Error messages;
  • false - to disable Error messages.

Log.FatalIsOn

Enable Fatal Error messages.

Valid values:

  • true - to enable Fatal Error messages;
  • false - to disable Fatal Error messages.

Log.NoteIsOn

Enable Note messages.

Valid values:

  • true - to enable Note messages;
  • false - to disable Note messages.
Note

Starting from FIX Antenna 2.10.16.3, Note messages are indicated as INFO records in logs.

Log.WarnIsOn

Enable Warning messages.

Valid values:

  • true - to enable Warning messages;
  • false - to disable Warning messages.

Log.TraceIsOn

Enable Trace messages.

Valid values:

  • true - to enable Trace messages;
  • false - to disable Trace messages

Log.OpenLDAP.TraceIsOn

Enableswritingofdebuglog records fromOpenLDAPlibrary to the logs. The parameter has been added since FIXEdge 6.2.

Valid values:

  • true - to enable OpenLDAP library debug-level logging;
  • false - to disable OpenLDAP library debug-level logging

Affinity parameters

WorkerCpuAffinity

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.

Info

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:

Code Block
WorkerCpuAffinity = 14


Default value is 0. It means that the Engine will not change thread affinity mask.

HelperCpuAffinity

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.

Info

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:

Code Block
HelperCpuAffinity = 12

Default value is 0. It means that the Engine will not change thread affinity mask.

CpuAffinity

Specifies affinity mask for dedicated threads of the session. It makes sense only for aggressive modes.

Affinity is specified as bitmask where a 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.

Info

E.g. to specify fourth, sixth, and eighth cores, the affinity in bytes will look like "10101000". It is "168in the decimal system. So, for proper use the property should be set in the following way:

Code Block
CpuAffinity = 168

The default value is 0. It means that the Engine will not change the thread affinity mask.

RecvCpuAffinity

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.

Info

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:

Code Block
RecvCpuAffinity = 228

Default value is 0. It means that the Engine will not change thread affinity mask.

SendCpuAffinity

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.

Info

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:

Code Block
SendCpuAffinity = 82

The default value is 0. It means that the Engine will not change the thread affinity mask.

Backup parameters

BackupDirectory

Relative path to the backup folder.

This folder will be used for message storage files of the backup connections.

EnableAutoSwitchToBackupConnection

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:

  • true - to enable EnableAutoSwitchToBackupConnection mode;
  • false - to disable EnableAutoSwitchToBackupConnection mode.

EnableCyclicSwitchBackupConnection

Defines if there should be an auto switch to the primary connection in case a backup connection is used and it is interrupted.

Valid values:

  • true - to enable EnableCyclicSwitchBackupConnection mode;
  • false - to disable EnableCyclicSwitchBackupConnection mode.

Monitoring parameters

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.

Monitoring.AdminSessionDef.DisableTCPBuffer

When true TCP buffer (Nagle algorithm) will be disabled for the session.

Monitoring.AdminSessionDef.EncryptMethod

The expected value of the encryption method.

Monitoring.AdminSessionDef.ForceSeqNumResetMode

Force SeqNum reset mode.

An option to use 141 tag in Logon message to reset sequence number.

Monitoring.AdminSessionDef.IgnoreSeqNumTooLowAtLogon

When true, session ignore 'SeqNum too low' at incoming Logon message and continue with received SeqNum.

Monitoring.AdminSessionDef.IntradayLogoutToleranceMode

Intraday logout tolerance mode.

An option to reset or not to reset sequence numbers after Logout.

Monitoring.AdminSessionDef.MaxMessagesAmountInBunch

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.

Monitoring.AdminSessionDef.Password

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, the session is dropped without sending a message and the error condition is generated in the log output.

Monitoring.AdminSessionDef.SenderLocationID

SenderLocationID (tag 142) - assigned value used to identify specific message originator's location (i.e. geographic location and/or desk, trader).

Monitoring.AdminSessionDef.SocketOpPriority

The priority of the socket SendReceive operations.

Valid values:

  • EVEN (default) - share worker thread among all session in the Engine;
  • AGGRESSIVE_SEND - use dedicated thread to send outgoing messages;
  • AGGRESSIVE_RECEIVE - use dedicated thread to send outgoing messages;
  • AGGRESSIVE_SEND_AND_RECEIVE - use dedicated per session threads to send and receive messages;
  • DIRECT_SEND - use the current thread for sending, if this would block, performs as "EVEN".

Monitoring.AdminSessionDef.SourceIPaddress

The expected IP address of a remote counterparty 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.

Global parameter for all monitoring sessions. 

Monitoring.AdminSessionDef.TargetLocationIDDisableTCPBuffer

TargetLocationID_ (tag 143) - assigned value used to identify specific message destination's location (i.e. geographic location and/or desk, trader).

Monitoring.AdminSessionDef.TargetSubID

TargetSubID (tag 57) - assigned value used to identify a specific individual or unit intended to receive messages.

Monitoring.AdminSessionDef.Username

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.

Monitoring.AdminSessionNames

The list of administrative FIX sessions separated by a comma.

To set a property for a session in this list the user should add a property 'Monitoring.AdminSession.<session name>.<parameter name>', where <session name> is the name of the session from the list.

Monitoring.ListenPort

The port on which FIX Engine accepts administrative FIX sessions. The name of this session starts with 'Monitoring'. 

If the port is configured, it will be added to the set of Engine listen ports, and administrative sessions will be accepted on this port only.
If the parameter does not exist or empty, global Engine listen ports are used to accept administrative sessions.

Info

Does not support a secure connection. 

To enable SSL on Monitoring.ListenPort, the port number must be also added to the ListenSSLPort parameter.

Measuring.Enable

Enables/disables Engine measuring.

Valid values:

  • true - to enable Engine measuring;
  • false - to disable Engine measuring.

If this parameter omitted, it is "false" by default.

Monitoring.Enable

Enables/disables Engine monitoring.

...