Class EngineSettings
The FIX Engine configuration settings.
Inherited Members
Namespace: OnixS.Fix
Assembly: OnixS.Fix.Engine.dll
Syntax
public class EngineSettings
Constructors
EngineSettings()
Declaration
public EngineSettings()
Properties
Dictionary
Path(s) to XML file(s) with the description of FIX dictionary(s). Symbol '|' is used as a filename delimiter.
Declaration
public string Dictionary { get; set; }
Property Value
Type | Description |
---|---|
string |
DictionaryString
Specifies the plain text string with the Dictionary description.
Declaration
public string DictionaryString { get; set; }
Property Value
Type | Description |
---|---|
string |
DisableNetworkLevel
Disable the network level completely.
The default value is DisableNetworkLevel. The property key is DisableNetworkLevel.
Declaration
public bool DisableNetworkLevel { get; set; }
Property Value
Type | Description |
---|---|
bool | Disable the network level completely |
FileBasedStorageSegmentSize
Maximum size of a single .summary file in bytes.
The default value is FileBasedStorageSegmentSize. The property key is FileBasedStorageSegmentSize.
Declaration
public long FileBasedStorageSegmentSize { get; set; }
Property Value
Type | Description |
---|---|
long |
HeartbeatInterval
The default heartbeat interval in seconds.
The default value is HeartbeatInterval. The property key is HeartbeatInterval.
Declaration
public int HeartbeatInterval { get; set; }
Property Value
Type | Description |
---|---|
int | The default heartbeat interval in seconds |
IgnoreFileBasedStorageIntegrityErrors
Ignore File Bases Storage integrity errors.
The default value is IgnoreFileBasedStorageIntegrityErrors. The property key is IgnoreFileBasedStorageIntegrityErrors.
Declaration
public bool IgnoreFileBasedStorageIntegrityErrors { get; set; }
Property Value
Type | Description |
---|---|
bool | Ignore File Bases Storage integrity errors |
LicenseAlertingDaysBeforeExpiration
The number of days to alert before the license expiration.
If the number of remaining license days is less or equal to this number then the warning will be reported to the FIX Engine's log and Warning event will be invoked. The verification is performed during the following events: FIX Engine initialization, LogonAsAcceptor() and LogonAsInitiator(IPAddress, int, int, bool, IMessage, bool) calls.
The default value is LicenseAlertingDaysBeforeExpiration. The property key is LicenseAlertingDaysBeforeExpiration.
Declaration
public int LicenseAlertingDaysBeforeExpiration { get; set; }
Property Value
Type | Description |
---|---|
int | The number of days to alert before the license expiration. |
LicenseStore
The path(s) to the folder(s) that contains the license file(s). The symbol '|' is used as a path delimiter.
The default value is LicenseStore. The property key is LicenseStore.
Declaration
public string LicenseStore { get; set; }
Property Value
Type | Description |
---|---|
string |
LicenseStores
Paths to folders that contain license files.
The default value is LicenseStore. The property key is LicenseStore.
Declaration
public List<string> LicenseStores { get; }
Property Value
Type | Description |
---|---|
List<string> |
LicenseString
The string that contains the license file content.
The default value is LicenseString. The property key is LicenseString.
Declaration
public string LicenseString { get; set; }
Property Value
Type | Description |
---|---|
string |
ListenPorts
Listen port(s) for incoming FIX connections.
The default value is ListenPorts. The property key is ListenPorts.
Declaration
public List<int> ListenPorts { get; }
Property Value
Type | Description |
---|---|
List<int> | Listen port(s) |
LocalNetworkInterface
The network interface.
The default value is LocalNetworkInterface The property key is LocalNetworkInterface.
Declaration
public IPAddress LocalNetworkInterface { get; set; }
Property Value
Type | Description |
---|---|
IPAddress | The network interface |
See Also
LocalTimeUsage
Use the local time in FIX Engine events and log files.
The default value is LocalTimeUsage. The property key is LocalTimeUsage.
Declaration
public bool LocalTimeUsage { get; set; }
Property Value
Type | Description |
---|---|
bool | Use the local time in FIX Engine events and log files |
LogBeforeSending
Option to switch on/off logging of outbound messages before/after sending.
By default, the logging of an outgoing message to the session storage is performed before sending to the wire. This is more reliable because we guarantee that an outgoing message is stored before going to the counterparty and if the application is shut down after sending, for some reasons, the sent message can be resent afterward.
However, this approach adds the logging latency to the FIX Engine sending latency. As a result, it increases the tick-to-trade latency. When the latency is more important, one can switch off the logging before sending, by setting the OnixS::FIX::Session::logBeforeSending option to false. In this case, the logging of outgoing messages to the session storage will be performed after sending to the wire. This way, one can exclude the logging latency from the FIX Engine sending latency and as a result, decrease the tick-to-trade latency.
Declaration
public bool LogBeforeSending { get; set; }
Property Value
Type | Description |
---|---|
bool |
LogInboundMessages
Log incoming messages.
The default value is LogInboundMessages. The property key is LogInboundMessages.
Declaration
public bool LogInboundMessages { get; set; }
Property Value
Type | Description |
---|---|
bool | Store incoming messages in the session storage |
LogOutboundMessages
Log outgoing messages.
The default value is LogOutboundMessages. The property key is LogOutboundMessages.
Declaration
public bool LogOutboundMessages { get; set; }
Property Value
Type | Description |
---|---|
bool | Store outbound messages in the session storage |
LoggerFactory
The custom logger factory.
Declaration
public ILoggerFactory LoggerFactory { get; set; }
Property Value
Type | Description |
---|---|
ILoggerFactory |
LoggerProvider
The custom logger provider, ignored if LoggerFactory not null.
Declaration
public ILoggerProvider LoggerProvider { get; set; }
Property Value
Type | Description |
---|---|
ILoggerProvider |
LogonTimeout
Number of seconds to wait for a logon response before disconnecting.
The default value is LogonTimeout. The property key is LogonTimeout.
Declaration
public int LogonTimeout { get; set; }
Property Value
Type | Description |
---|---|
int | The default heartbeat interval in seconds |
LogoutTimeout
Number of seconds to wait for a logout response before disconnecting.
The default value is LogoutTimeout. The property key is LogoutTimeout.
Declaration
public int LogoutTimeout { get; set; }
Property Value
Type | Description |
---|---|
int | The default heartbeat interval in seconds |
MessageGrouping
Message sending grouping.
The default value is MessageGrouping. The property key is MessageGrouping.
Declaration
public int MessageGrouping { get; set; }
Property Value
Type | Description |
---|---|
int | Value |
ProcessDeliverToCompId
Process the DeliverToCompID, tag=128 field.
The default value is ProcessDeliverToCompId. The property key is ProcessDeliverToCompId.
Declaration
public bool ProcessDeliverToCompId { get; set; }
Property Value
Type | Description |
---|---|
bool | Process the DeliverToCompID, tag=128 field |
ReasonableTransmissionTime
Reasonable transmission time as % from the heartbeat interval.
The default value is ReasonableTransmissionTime. The property key is ReasonableTransmissionTime.
Declaration
public int ReasonableTransmissionTime { get; set; }
Property Value
Type | Description |
---|---|
int | Reasonable transmission time as % from the heartbeat interval |
ReceiveBufferSize
TCP socket receive buffer size allocated to FIX connection, in bytes.
The default value is ReceiveBufferSize. The property key is ReceiveBufferSize.
Declaration
public int ReceiveBufferSize { get; set; }
Property Value
Type | Description |
---|---|
int | TCP socket receive buffer size in bytes |
ReceiveSpinningTimeout
The non-blocking receive spinning timeout (in microseconds) before the receiving thread enters into the blocking wait mode.
Should not be greater than 1
sec. (the minimal HeartbeatInterval interval).
The default value is ReceiveSpinningTimeout. The property key is ReceiveSpinningTimeout.
Declaration
public int ReceiveSpinningTimeout { get; set; }
Property Value
Type | Description |
---|---|
int | Receive spinning timeout (in microseconds) |
ReconnectAttempts
Number of attempts to restore the FIX connection.
The default value is ReconnectAttempts. The property key is ReconnectAttempts.
Declaration
public int ReconnectAttempts { get; set; }
Property Value
Type | Description |
---|---|
int | Number of attempts to restore the FIX connection |
ReconnectInterval
Time interval between attempts to restore the FIX connection (in seconds).
The default value is ReconnectInterval. The property key is ReconnectInterval.
Declaration
public int ReconnectInterval { get; set; }
Property Value
Type | Description |
---|---|
int | Time interval between attempts to restore the FIX connection (in seconds) |
ResendRequestMaximumRange
The maximum number of messages to be requested in one Resend Request(2) message.
The default value is ResendRequestMaximumRange. The property key is ResendRequestMaximumRange.
Declaration
public int ResendRequestMaximumRange { get; set; }
Property Value
Type | Description |
---|---|
int | The maximum number of messages to be requested in one Resend Request (MsgType=2) message or ResendRequestMaximumRangeNoLimit for no limit |
See Also
ResendingQueueSize
The number of sent messages that are available for resending in reply on counterparty's Resend Request(2) message.
The default value is ResendingQueueSize. The property key is ResendingQueueSize.
Declaration
public int ResendingQueueSize { get; set; }
Property Value
Type | Description |
---|---|
int | The number of sent messages that are available for resending in reply on counterparty's Resend Request(2) message |
See Also
SendBufferSize
TCP socket send buffer size allocated to FIX connection, in bytes.
The default value is SendBufferSize. The property key is SendBufferSize.
Declaration
public int SendBufferSize { get; set; }
Property Value
Type | Description |
---|---|
int | TCP socket send buffer size in bytes |
SendLogoutOnException
Send the Logout message before dropping the telecommunication link in case of an exception during the processing of an incoming FIX message.
The default value is SendLogoutOnException. The property key is SendLogoutOnException.
Declaration
public bool SendLogoutOnException { get; set; }
Property Value
Type | Description |
---|---|
bool | option to send or not to send |
SendLogoutOnInvalidLogon
Send the Logout message before dropping the telecommunication link in reply on an invalid logon attempt.
The default value is SendLogoutOnInvalidLogon. The property key is SendLogoutOnInvalidLogon.
Declaration
public bool SendLogoutOnInvalidLogon { get; set; }
Property Value
Type | Description |
---|---|
bool | Send the Logout message before dropping the telecommunication link in reply on an invalid logon attempt |
SendQueueMaxSize
Send queue maximum size in bytes.
The default value is SendQueueMaxSize. The property key is SendQueueMaxSize.
Declaration
public int SendQueueMaxSize { get; set; }
Property Value
Type | Description |
---|---|
int | Send queue maximum size in bytes |
SendSpinningTimeout
The send spinning timeout (in microseconds) of the Send(IMessage) method to wait for the socket sending buffer availability in the spin loop mode before placing the message to the outgoing queue (to be sent later by the sending thread).
Should not be greater than 1 sec (the minimal Heartbeat interval).
The default value is SendSpinningTimeout. The property key is SendSpinningTimeout.
Declaration
public int SendSpinningTimeout { get; set; }
Property Value
Type | Description |
---|---|
int | The send spinning timeout (in microseconds) |
SetApplVerId
Set the ApplVerID (1128) field in all outgoing application messages when a FIX protocol version FIX 5.0 or above is used.
The default value is SetApplVerId. The property key is SetApplVerId.
Declaration
public bool SetApplVerId { get; set; }
Property Value
Type | Description |
---|---|
bool | Set the ApplVerID (1128) field in all outgoing application messages when a FIX protocol version FIX 5.0 or above is used |
See Also
SetLastMsgSeqNumProcessed
Set the LastMsgSeqNumProcessed (369) field in outgoing messages.
The default value is SetLastMsgSeqNumProcessed. The property key is SetLastMsgSeqNumProcessed.
Declaration
public bool SetLastMsgSeqNumProcessed { get; set; }
Property Value
Type | Description |
---|---|
bool | Set the LastMsgSeqNumProcessed (369) field in outgoing messages |
See Also
Ssl
SSL connection settings.
Declaration
public EngineSslSettings Ssl { get; }
Property Value
Type | Description |
---|---|
EngineSslSettings |
StorageDirectory
Inbound and outbound FIX messages and session's state data are stored in this directory.
The default value is StorageDirectory. The property key is StorageDirectory.
Declaration
public string StorageDirectory { get; set; }
Property Value
Type | Description |
---|---|
string | Storage directory |
SupportNextExpectedMsgSeqNum
Support the NextExpectedMsgSeqNum field (tag 789) in Logon (MsgType=A) messages.
Note: Using of this option should be bilaterally agreed upon between counterparts.
The default value is SupportNextExpectedMsgSeqNum. The property key is SupportNextExpectedMsgSeqNum.
Declaration
public bool SupportNextExpectedMsgSeqNum { get; set; }
Property Value
Type | Description |
---|---|
bool | Support the NextExpectedMsgSeqNum field (tag 789) in Logon (MsgType=A) messages |
See Also
TcpNoDelay
Improve latency at the expense of throughput (disable/enable Nagle's algorithm).
The default value is TcpNoDelay. The property key is TcpNoDelay.
Declaration
public bool TcpNoDelay { get; set; }
Property Value
Type | Description |
---|---|
bool | Improve latency at the expense of throughput (disable/enable Nagle's algorithm) |
See Also
UpdateSendingTime
Update the SendingTime (52) field in the outgoing message even if it is already set.
The default value is UpdateSendingTime. The property key is UpdateSendingTime.
Declaration
public bool UpdateSendingTime { get; set; }
Property Value
Type | Description |
---|---|
bool | Update the SendingTime (52) field in the outgoing message if it is already set |
See Also
ValidateCheckSum
Validate the CheckSum (tag 10) field value.
The default value is ValidateCheckSum. The property key is ValidateCheckSum.
Declaration
public bool ValidateCheckSum { get; set; }
Property Value
Type | Description |
---|---|
bool | Validate the CheckSum (tag 10) field value |
ValidateDuplicatedFields
Validate the presence of fields that appear more than once.
The default value is ValidateDuplicatedFields. The property key is ValidateDuplicatedFields.
Declaration
public bool ValidateDuplicatedFields { get; set; }
Property Value
Type | Description |
---|---|
bool | Validate the presence of fields that appear more than once |
See Also
ValidateEmptyFieldValues
Validate empty message field values.
The default value is ValidateEmptyFieldValues. The property key is ValidateEmptyFieldValues.
Declaration
public bool ValidateEmptyFieldValues { get; set; }
Property Value
Type | Description |
---|---|
bool | Option to validate empty message field values |
See Also
ValidateFieldValues
Option to validate field values of FIX messages in accordance with the FIX protocol or its FIX Dialect.
The default value is ValidateFieldValues. The property key is ValidateFieldValues.
Declaration
public bool ValidateFieldValues { get; set; }
Property Value
Type | Description |
---|---|
bool | Option to validate field values of FIX messages in accordance with the FIX protocol or its FIX Dialect |
See Also
ValidateRepeatingGroupEntryCount
Validate that the declared number of repeating group instances is equal to the actual one.
The default value is ValidateRepeatingGroupEntryCount. The property key is ValidateRepeatingGroupEntryCount.
Declaration
public bool ValidateRepeatingGroupEntryCount { get; set; }
Property Value
Type | Description |
---|---|
bool | Validate that the declared number of repeating group instances is equal to the actual one |
See Also
ValidateRepeatingGroupLeadingField
Validate that repeating group instances start with the correct leading fields.
The default value is ValidateRepeatingGroupLeadingField. The property key is ValidateRepeatingGroupLeadingField.
Declaration
public bool ValidateRepeatingGroupLeadingField { get; set; }
Property Value
Type | Description |
---|---|
bool | Validate that repeating group instances start with the correct leading fields. |
See Also
ValidateRequiredFields
Validate the presence of required message fields.
The default value is ValidateRequiredFields. The property key is ValidateRequiredFields.
Declaration
public bool ValidateRequiredFields { get; set; }
Property Value
Type | Description |
---|---|
bool | Validate the presence of required message fields |
See Also
ValidateUnknownFields
Validate that there are no unknown message fields.
The default value is ValidateUnknownFields. The property key is ValidateUnknownFields.
Declaration
public bool ValidateUnknownFields { get; set; }
Property Value
Type | Description |
---|---|
bool | Validate that there are no unknown message fields |
See Also
ValidateUnknownMessages
Validate that there are no unknown messages received.
The default value is ValidateUnknownMessages. The property key is ValidateUnknownMessages.
Declaration
public bool ValidateUnknownMessages { get; set; }
Property Value
Type | Description |
---|---|
bool | Validate that there are no unknown messages received |
See Also
Versions
Standard FIX dictionaries to load during the Engine initialization.
The default value is Versions. The property key is Versions.
Declaration
public HashSet<ProtocolVersion> Versions { get; }
Property Value
Type | Description |
---|---|
HashSet<ProtocolVersion> | Standard FIX dictionaries to load during the Engine initialization |
Methods
LoadFromConfigurationFile(string)
Loads configuration settings from the .NET application configuration file or from the given XML or JSON configuration file.
Declaration
public void LoadFromConfigurationFile(string configFileName = "")
Parameters
Type | Name | Description |
---|---|---|
string | configFileName | XML or JSON configuration file name. If the parameter is empty, then the .NET application configuration file is used. |
Exceptions
Type | Condition |
---|---|
EngineException | Configurations settings cannot be loaded. |
ToString()
Returns a string that represents the current object.
Declaration
public override string ToString()
Returns
Type | Description |
---|---|
string | A string that represents the current object. |