B2BITS FIX Antenna C++ 2.32.0
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Public Attributes | List of all members
Engine::SessionExtraParameters Struct Reference

Session's extra parameters. More...

#include <B2BITS_SessionParameters.h>

+ Inheritance diagram for Engine::SessionExtraParameters:
+ Collaboration diagram for Engine::SessionExtraParameters:

Classes

struct  ThrottlerParameters
 Throttler parameters. More...
 
struct  ValidationParameters
 Validation parameters. More...
 

Public Types

typedef std::map< std::string, OptionalPropertyOptionalProperties
 
typedef Utils::Emptily< std::string > OptionalProperty
 
typedef std::map< std::string, std::string > Properties
 

Public Member Functions

void merge (const SessionExtraParameters &sessionExtraParameters)
 Merges parameters with another parameters.
 
void modifyOptional (const OptionalProperties &properties, const std::string &prefix=std::string(), bool fullLoad=false)
 modifyOptional modify parameters from optional values
 
 SessionExtraParameters ()
 Initializes all parameters to default (NULL) values.
 
 SessionExtraParameters (const std::map< std::string, std::string > &properties, const std::string &prefix=std::string())
 Initializes all parameters to values from properties or to default (NULL) values if property not found.
 
void update (const Properties &properties, const std::string &prefix=std::string(), bool fullLoad=true)
 Updates the parameters to values from properties.
 
virtual ~SessionExtraParameters ()=default
 

Public Attributes

TriUInt64 aggressiveAsyncSpinWaitTimeUs_
 Defines a spin wait time in microseconds for waiting between spin iterations in a dedicated sending thread in the Engine::AGGRESSIVE_SEND_SOCKET_OP_PRIORITY mode.
 
TriInt aggressiveReceiveDelay_
 Defines a polling interval in microseconds for reading data from the socket.
 
TriBool allowMessageWithoutPossDupFlag_
 This parameter is an option whereby the repeated messages are received without PossDupFlag (43) field.
 
std::string cmeSecureKeysFile_
 Defined path to the secure keys.
 
ConfirmingLogonStrategy confirmingLogonStrategy_
 Defines application behavior in case of the Logout message being received instead of the confirming Logon message as an Initiator.
 
std::string connectAddress_
 Specifies IP of the NIC interface used to connect to the remote site.
 
TriInt connectPort_
 Specifies TCP port used to connect to the remote site.
 
TriAffinity64 cpuAffinity_
 Specifies affinity mask for dedicated threads of session.
 
std::string customLogonMessage_
 Custom logon message for initiator.
 
std::string customLogonMessageFileName_
 Custom logon message file name for initiator.
 
Utils::Emptily< CustomSessionTypecustomSessionType_
 Specifies whether a session should encrypt password each time.
 
TriBool cyclicSwitchBackupConnection_
 When true, connection will be switched from primary to backup and back until connection will be established.
 
TriBool deliverAppMessagesOutOfOrder_
 Forces Session to deliver Application Level messages if sequence number is too high.
 
TriBool disableTCPBuffer_
 When true TCP buffer (Nagle algorithm) will be disabled for session.
 
TriBool enableAutoSwitchToBackupConnection_
 When true, automatic switch mode is enabled.
 
TriBool enableMessageRejecting_
 When true, session reject application messages, when session unable to sent them during specified period or was disconnected.
 
EncryptMethod encryptMethod_
 Encryption method.
 
std::string fixKey_
 Specifies a FIX key for LME sessions.
 
TriBool forcedReconnect_
 Optional.
 
ForceSeqNumResetMode forceSeqNumReset_
 Force SeqNum reset mode.
 
TriBool generateCheckSum_
 If false, session will not calculate CRC for outgoing messages Default is true.
 
TriBool handleSeqNumAtLogon_
 Handle sequence gaps using NextExpectedMsgSeqNum field in the Logon.
 
TriInt hbi_
 HBI for initiator session.
 
TriBool hiddenLogonCredentials_
 Masks password in in/out logs.
 
std::string host_
 Host for initiator session.
 
TriBool ignoreSeqNumTooLowAtLogon_
 When true, session ignore 'SeqNum too low' at incoming Logon message and continue with received SeqNum.
 
TriBool intradayLogoutToleranceMode_
 Intraday logout tolerance mode.
 
InvalidLogonStrategy invalidLogonStrategy_
 Defines session's strategy on receiving invalid Logon message from the counterparty during the connection establishment.
 
TriBool isForwardingFixMessagesToLog_
 isForwardingFixMessagesToLog_ if true then all fix messages forwaring to the log system default value is engine parameter IsForwardingFixMessagesToLog
 
TriBool keepConnectionState_
 When true, primary to backup (and back) connection switching continue using existing message storage.
 
std::string listenAddress_
 Listen address for acceptor session.
 
Utils::Emptily< System::ListenEndpointslistenEndpoints_
 Acceptor session listen endpoints.
 
TriInt listenPort_
 Listen port for acceptor session.
 
std::string logDir_
 Defines path of the directory in which the logs for all incoming and outgoing FIX messages are stored.
 
TriBool logIncomingMessages_
 If true, session will store incoming FIX messages.
 
TriInt logonMessageSessionQualifierTag_
 Defines tag of the field to be used by FIX Engine when dispatching incoming connection.
 
std::vector< std::string > maskedTags_
 Specifies a tags which will be masked in log files.
 
TriInt maxMessagesAmountInBunch_
 Enqueued outgoing messages could merged and sent as a single buffer.
 
TriInt messagesStorageSize_
 This parameter specifies in-memory messages storage size.
 
TriUInt64 outgoingQueueBlockSize_
 Defines a block size in bytes for the preallocated outgoing queue block pool.
 
TriUInt64 outgoingQueueSize_
 Defines the amount of blocks for the preallocated outgoing queue block pool.
 
TriInt outOfSequenceMessagesQueueSize_
 This parameter sets size temporary queue for processing out of sequence messages default value is engine parameter OutOfSequenceMessagesStrategy.QueueSize.
 
Utils::Emptily< Engine::OutOfSequenceMessagesStrategyEnumoutOfSequenceMessagesStrategy_
 This parameter sets strategy for out of sequence messages default value is engine parameter OutOfSequenceMessagesStrategy.
 
std::string parserVersion_
 Protocol/parser identification.
 
std::string password_
 User's password.
 
TriInt passwordTag_
 Specifies a tag used to store a password.
 
TriInt port_
 Port for initiator session.
 
std::string pSenderLocationID_
 SenderLocationID (tag 142) - assigned value used to identify specific message originator's location (i.e.
 
std::string pSenderSubID_
 SenderSubID (tag 50) - assigned value used to identify specific message originator (desk, trader, etc.).
 
std::string pTargetLocationID_
 TargetLocationID_ (tag 143) - assigned value used to identify specific message destination's location (i.e.
 
std::string pTargetSubID_
 TargetSubID (tag 57) - assigned value used to identify specific individual or unit intended to receive message.
 
std::vector< RawDataTypeProcessingStrategies::CustomRawDataTagProcessingStrategyrawDataTagProcessingStrategies_
 rawDataTagProcessingStrategies_ processing *Len tags customization rules
 
TriInt reconnectInterval_
 This parameter specifies the time interval between reconnection attempts in order to restore a communications link.
 
TriInt reconnectMaxTries_
 This parameter specifies the number of attempts to restore the session.
 
TriAffinity64 recvCpuAffinity_
 Specifies affinity mask for dedicated receiving thread of session.
 
TriInt resendRequestBlockSize_
 Defines number of messages requested using Resend Request messages.
 
std::string resetSeqNumFromFirstLogon_
 Defines if sequence numbers should be reset when receiving a logon request first time.
 
TriBool resetSeqNumOnNonGracefulTermination_
 Defines if the session's sequence numbers should be set to 1 after non-graceful termination.
 
std::string schedule_
 Specifies schedule defined for the session.
 
TriAffinity64 sendCpuAffinity_
 Specifies affinity mask for dedicated sending thread of session.
 
Utils::Emptily< Engine::TZTimeHelper::TimeFlagssendingTimestampUnit_
 The expected value of the timestamp unit for 52 and 112 tags.
 
TriBool sendLastMsgSeqNumProcessed_
 Allows automatic adding the LastMsgSeqNumProcessed(369) tag to outgoing messages.
 
SessionRole sessionRole_
 Role of the session Initiator/Acceptor.
 
TriInt socketBusyPollTime_
 Sets the approximate time in microseconds to busy poll on a blocking receive when there is no data.
 
SocketOpPriority socketPriority_
 Priority of the socket send/receive operations.
 
TriInt socketRecvBufSize_
 Socket incoming buffer size.
 
TriInt socketSendBufSize_
 Socket outgoing buffer size.
 
TriInt socketTcpMaxSeg_
 Sets TCP maximum-segment size.
 
Addresses sourceIPaddress_
 The expected value of the source IP address.
 
TriBool ssl_
 Whatever to use SSL for the session.
 
std::string sslCACertificate_
 
std::string sslCertificate_
 
std::string sslCertificatePassword_
 
std::string sslCiphersList_
 Ciphers list configuration string.
 
Utils::Emptily< System::SSLContextsslContext_
 SSL context.
 
std::string sslPrivateKey_
 
std::string sslPrivateKeyPassword_
 
TriInt sslProtocols_
 SSL protocols to use.
 
TriBool sslValidatePeerCertificate_
 
TriStorageRecoveryStrategy storageRecoveryStrategy_
 Recovery storage parameters.
 
TriMessageStorageType storageType_
 Message storage type.
 
TriBool suppressDoubleResendRequest_
 Suppresses session to send Resend request message on every incoming message with sequence greater than expected.
 
TriTagsDelimiter tagsDelimiter_
 Specifies the tag delimiter in FIX Messages Default is SOH (0x01)
 
Utils::Emptily< std::vector< ThrottlerParameters > > throttlers_
 Defines throttlers to limit throughput.
 
Utils::Emptily< Transporttransport_
 Low level transport of the session.
 
TriBool useAsyncConnect_
 When true, session initiator will use async TCP connect.
 
TriBool useBlockingSockets_
 If true, session will use blocking I/O.
 
std::string userName_
 User name.
 
TriInt userNameTag_
 Specifies a tag used to store an username.
 
TriBool validateCheckSum_
 If true, session skip CRC validation for incoming messages Default is true.
 
ValidationParameters validation_
 Validation parameters.
 

Detailed Description

Session's extra parameters.

If these parameters are present FIX Engine adds them to Standard Message Header of all outgoing messages unless another value has been explicitly set in the particular message.

Member Typedef Documentation

◆ OptionalProperties

◆ OptionalProperty

◆ Properties

typedef std::map<std::string, std::string> Engine::SessionExtraParameters::Properties

Constructor & Destructor Documentation

◆ SessionExtraParameters() [1/2]

Engine::SessionExtraParameters::SessionExtraParameters ( )

Initializes all parameters to default (NULL) values.

◆ SessionExtraParameters() [2/2]

Engine::SessionExtraParameters::SessionExtraParameters ( const std::map< std::string, std::string > & properties,
const std::string & prefix = std::string() )

Initializes all parameters to values from properties or to default (NULL) values if property not found.

◆ ~SessionExtraParameters()

virtual Engine::SessionExtraParameters::~SessionExtraParameters ( )
virtualdefault

Member Function Documentation

◆ merge()

void Engine::SessionExtraParameters::merge ( const SessionExtraParameters & sessionExtraParameters)

Merges parameters with another parameters.

◆ modifyOptional()

void Engine::SessionExtraParameters::modifyOptional ( const OptionalProperties & properties,
const std::string & prefix = std::string(),
bool fullLoad = false )

modifyOptional modify parameters from optional values

Parameters
propertiesoptional properties for modification
prefixstart prefix for getting parameters
fullLoadtrue to modify all parameters, using default value if parameter is undefined; false to modify parameters which state is defined.

◆ update()

void Engine::SessionExtraParameters::update ( const Properties & properties,
const std::string & prefix = std::string(),
bool fullLoad = true )

Updates the parameters to values from properties.

Member Data Documentation

◆ aggressiveAsyncSpinWaitTimeUs_

TriUInt64 Engine::SessionExtraParameters::aggressiveAsyncSpinWaitTimeUs_

Defines a spin wait time in microseconds for waiting between spin iterations in a dedicated sending thread in the Engine::AGGRESSIVE_SEND_SOCKET_OP_PRIORITY mode.

Setting lower value reduces the latency but causes high CPU utilization on the dedicated sending threads. The default value is 1000 microseconds. Setting the value to 0 disables waiting in a spin loop. This will give minimum possible latency in this mode, but will cause 100% CPU utilization of the dedicated sending thread.

◆ aggressiveReceiveDelay_

TriInt Engine::SessionExtraParameters::aggressiveReceiveDelay_

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.

◆ allowMessageWithoutPossDupFlag_

TriBool Engine::SessionExtraParameters::allowMessageWithoutPossDupFlag_

This parameter is an option whereby the repeated messages are received without PossDupFlag (43) field.

It's used for incoming messages only. If set to "true" and a message is received with a sequence number less than expected without PossDupFlag (43), a message will be processed. If set to "false", the connection will be closed. The default value is "false".

◆ cmeSecureKeysFile_

std::string Engine::SessionExtraParameters::cmeSecureKeysFile_

Defined path to the secure keys.

◆ confirmingLogonStrategy_

ConfirmingLogonStrategy Engine::SessionExtraParameters::confirmingLogonStrategy_

Defines application behavior in case of the Logout message being received instead of the confirming Logon message as an Initiator.

◆ connectAddress_

std::string Engine::SessionExtraParameters::connectAddress_

Specifies IP of the NIC interface used to connect to the remote site.

◆ connectPort_

TriInt Engine::SessionExtraParameters::connectPort_

Specifies TCP port used to connect to the remote site.

◆ cpuAffinity_

TriAffinity64 Engine::SessionExtraParameters::cpuAffinity_

Specifies affinity mask for dedicated threads of session.

It makes sense only for aggressive modes. Default value is 0 (the mask is not set)

◆ customLogonMessage_

std::string Engine::SessionExtraParameters::customLogonMessage_

Custom logon message for initiator.

◆ customLogonMessageFileName_

std::string Engine::SessionExtraParameters::customLogonMessageFileName_

Custom logon message file name for initiator.

◆ customSessionType_

Utils::Emptily<CustomSessionType> Engine::SessionExtraParameters::customSessionType_

Specifies whether a session should encrypt password each time.

◆ cyclicSwitchBackupConnection_

TriBool Engine::SessionExtraParameters::cyclicSwitchBackupConnection_

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

By default cycle switch mode is disabled.

◆ deliverAppMessagesOutOfOrder_

TriBool Engine::SessionExtraParameters::deliverAppMessagesOutOfOrder_

Forces Session to deliver Application Level messages if sequence number is too high.

Required by CME. Messages are delivered to SessionListener::process callback.

◆ disableTCPBuffer_

TriBool Engine::SessionExtraParameters::disableTCPBuffer_

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

◆ enableAutoSwitchToBackupConnection_

TriBool Engine::SessionExtraParameters::enableAutoSwitchToBackupConnection_

When true, automatic switch mode is enabled.

By default automatic switch mode is disabled.

◆ enableMessageRejecting_

TriBool Engine::SessionExtraParameters::enableMessageRejecting_

When true, session reject application messages, when session unable to sent them during specified period or was disconnected.

◆ encryptMethod_

EncryptMethod Engine::SessionExtraParameters::encryptMethod_

Encryption method.

◆ fixKey_

std::string Engine::SessionExtraParameters::fixKey_

Specifies a FIX key for LME sessions.

◆ forcedReconnect_

TriBool Engine::SessionExtraParameters::forcedReconnect_

Optional.

Forced Reconnect mode - Session will try to reconnect in following situations:

  1. In WaitForConfirmLogon state when session received not a confirming logon
  2. In WaitForConfirmLogon state when logon frame expired
  3. In Reconnect state when session was closed
  4. In Initial state of session-initiator, when there were no acceptor exists. In this case this property works with the 'Reconnect.MaxTries' property in 'engine.properties' (reconnectMaxTries_ in SessionExtraParameters) for registered session:
    • if forcedReconnect_ = false, the parameter Reconnect.MaxTries will be ignored, Utils::Exception will be thrown
    • If forcedReconnect_ = true, the parameter Reconnect.MaxTries will be used

◆ forceSeqNumReset_

ForceSeqNumResetMode Engine::SessionExtraParameters::forceSeqNumReset_

Force SeqNum reset mode.

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

◆ generateCheckSum_

TriBool Engine::SessionExtraParameters::generateCheckSum_

If false, session will not calculate CRC for outgoing messages Default is true.

◆ handleSeqNumAtLogon_

TriBool Engine::SessionExtraParameters::handleSeqNumAtLogon_

Handle sequence gaps using NextExpectedMsgSeqNum field in the Logon.

By default it equals to false

◆ hbi_

TriInt Engine::SessionExtraParameters::hbi_

HBI for initiator session.

◆ hiddenLogonCredentials_

TriBool Engine::SessionExtraParameters::hiddenLogonCredentials_

Masks password in in/out logs.

◆ host_

std::string Engine::SessionExtraParameters::host_

Host for initiator session.

◆ ignoreSeqNumTooLowAtLogon_

TriBool Engine::SessionExtraParameters::ignoreSeqNumTooLowAtLogon_

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

◆ intradayLogoutToleranceMode_

TriBool Engine::SessionExtraParameters::intradayLogoutToleranceMode_

Intraday logout tolerance mode.

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

◆ invalidLogonStrategy_

InvalidLogonStrategy Engine::SessionExtraParameters::invalidLogonStrategy_

Defines session's strategy on receiving invalid Logon message from the counterparty during the connection establishment.

◆ isForwardingFixMessagesToLog_

TriBool Engine::SessionExtraParameters::isForwardingFixMessagesToLog_

isForwardingFixMessagesToLog_ if true then all fix messages forwaring to the log system default value is engine parameter IsForwardingFixMessagesToLog

◆ keepConnectionState_

TriBool Engine::SessionExtraParameters::keepConnectionState_

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

◆ listenAddress_

std::string Engine::SessionExtraParameters::listenAddress_

Listen address for acceptor session.

◆ listenEndpoints_

Utils::Emptily<System::ListenEndpoints> Engine::SessionExtraParameters::listenEndpoints_

Acceptor session listen endpoints.

Overrides listenAddress_/listenPort_ parameters

◆ listenPort_

TriInt Engine::SessionExtraParameters::listenPort_

Listen port for acceptor session.

◆ logDir_

std::string Engine::SessionExtraParameters::logDir_

Defines path of the directory in which the logs for all incoming and outgoing FIX messages are stored.

◆ logIncomingMessages_

TriBool Engine::SessionExtraParameters::logIncomingMessages_

If true, session will store incoming FIX messages.

Default is true.

◆ logonMessageSessionQualifierTag_

TriInt Engine::SessionExtraParameters::logonMessageSessionQualifierTag_

Defines tag of the field to be used by FIX Engine when dispatching incoming connection.

SessionQualifier is passed in this field. SenderCompID(49), TargetCompID(56) and this field are used for search of appropriated acceptor among existing registered cceptors. The field is optional if application doesn't intend to accept incoming connection.

◆ maskedTags_

std::vector<std::string> Engine::SessionExtraParameters::maskedTags_

Specifies a tags which will be masked in log files.

◆ maxMessagesAmountInBunch_

TriInt Engine::SessionExtraParameters::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 infinite amount.

◆ messagesStorageSize_

TriInt Engine::SessionExtraParameters::messagesStorageSize_

This parameter specifies in-memory messages storage size.

◆ outgoingQueueBlockSize_

TriUInt64 Engine::SessionExtraParameters::outgoingQueueBlockSize_

Defines a block size in bytes for the preallocated outgoing queue block pool.

Should be > 0. Setting low value may force outgoing queue to frequently reallocate blocks reducing the performance. The default value is 4096.

◆ outgoingQueueSize_

TriUInt64 Engine::SessionExtraParameters::outgoingQueueSize_

Defines the amount of blocks for the preallocated outgoing queue block pool.

Should be > 0. Setting low value may force outgoing queue to frequently allocate new blocks at runtime reducing the performance. The default value is 15.

◆ outOfSequenceMessagesQueueSize_

TriInt Engine::SessionExtraParameters::outOfSequenceMessagesQueueSize_

This parameter sets size temporary queue for processing out of sequence messages default value is engine parameter OutOfSequenceMessagesStrategy.QueueSize.

◆ outOfSequenceMessagesStrategy_

Utils::Emptily< Engine::OutOfSequenceMessagesStrategyEnum > Engine::SessionExtraParameters::outOfSequenceMessagesStrategy_

This parameter sets strategy for out of sequence messages default value is engine parameter OutOfSequenceMessagesStrategy.

◆ parserVersion_

std::string Engine::SessionExtraParameters::parserVersion_

Protocol/parser identification.

◆ password_

std::string Engine::SessionExtraParameters::password_

User's password.

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

◆ passwordTag_

TriInt Engine::SessionExtraParameters::passwordTag_

Specifies a tag used to store a password.

◆ port_

TriInt Engine::SessionExtraParameters::port_

Port for initiator session.

◆ pSenderLocationID_

std::string Engine::SessionExtraParameters::pSenderLocationID_

SenderLocationID (tag 142) - assigned value used to identify specific message originator's location (i.e.

geographic location and/or desk, trader). Ignored if NULL value is specified.

◆ pSenderSubID_

std::string Engine::SessionExtraParameters::pSenderSubID_

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

Ignored if NULL value specified.

◆ pTargetLocationID_

std::string Engine::SessionExtraParameters::pTargetLocationID_

TargetLocationID_ (tag 143) - assigned value used to identify specific message destination's location (i.e.

geographic location and/or desk, trader). Ignored if NULL value specified.

◆ pTargetSubID_

std::string Engine::SessionExtraParameters::pTargetSubID_

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

'ADMIN' reserved for administrative messages not intended for a specific user. Ignored if NULL value is specified.

◆ rawDataTagProcessingStrategies_

std::vector<RawDataTypeProcessingStrategies::CustomRawDataTagProcessingStrategy> Engine::SessionExtraParameters::rawDataTagProcessingStrategies_

rawDataTagProcessingStrategies_ processing *Len tags customization rules

◆ reconnectInterval_

TriInt Engine::SessionExtraParameters::reconnectInterval_

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 integer and greater than 0.

◆ reconnectMaxTries_

TriInt Engine::SessionExtraParameters::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.

◆ recvCpuAffinity_

TriAffinity64 Engine::SessionExtraParameters::recvCpuAffinity_

Specifies affinity mask for dedicated receiving thread of session.

It makes sense only for aggressive receive mode. Default value is 0 (the mask is not set)

◆ resendRequestBlockSize_

TriInt Engine::SessionExtraParameters::resendRequestBlockSize_

Defines number of messages requested using Resend Request messages.

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

◆ resetSeqNumFromFirstLogon_

std::string Engine::SessionExtraParameters::resetSeqNumFromFirstLogon_

Defines if sequence numbers should be reset when receiving a logon request first time.

Acceptor only. Can be defined as "never", cron expression or "schedule"(A session should have schedule set up)

◆ resetSeqNumOnNonGracefulTermination_

TriBool Engine::SessionExtraParameters::resetSeqNumOnNonGracefulTermination_

Defines if the session's sequence numbers should be set to 1 after non-graceful termination.

◆ schedule_

std::string Engine::SessionExtraParameters::schedule_

Specifies schedule defined for the session.

This parameter is not used directly by the engine. So no automatic session binding happens.

◆ sendCpuAffinity_

TriAffinity64 Engine::SessionExtraParameters::sendCpuAffinity_

Specifies affinity mask for dedicated sending thread of session.

It makes sense only for aggressive send mode. Default value is 0 (the mask is not set)

◆ sendingTimestampUnit_

Utils::Emptily< Engine::TZTimeHelper::TimeFlags > Engine::SessionExtraParameters::sendingTimestampUnit_

The expected value of the timestamp unit for 52 and 112 tags.

(default 0)

◆ sendLastMsgSeqNumProcessed_

TriBool Engine::SessionExtraParameters::sendLastMsgSeqNumProcessed_

Allows automatic adding the LastMsgSeqNumProcessed(369) tag to outgoing messages.

◆ sessionRole_

SessionRole Engine::SessionExtraParameters::sessionRole_

Role of the session Initiator/Acceptor.

◆ socketBusyPollTime_

TriInt Engine::SessionExtraParameters::socketBusyPollTime_

Sets the approximate time in microseconds to busy poll on a blocking receive when there is no data.

(since Linux 3.11)

◆ socketPriority_

SocketOpPriority Engine::SessionExtraParameters::socketPriority_

Priority of the socket send/receive operations.

By default Engine::EVEN_SOCKET_OP_PRIORITY used.

◆ socketRecvBufSize_

TriInt Engine::SessionExtraParameters::socketRecvBufSize_

Socket incoming buffer size.

◆ socketSendBufSize_

TriInt Engine::SessionExtraParameters::socketSendBufSize_

Socket outgoing buffer size.

◆ socketTcpMaxSeg_

TriInt Engine::SessionExtraParameters::socketTcpMaxSeg_

Sets TCP maximum-segment size.

◆ sourceIPaddress_

Addresses Engine::SessionExtraParameters::sourceIPaddress_

The expected value of the source IP address.

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.

◆ ssl_

TriBool Engine::SessionExtraParameters::ssl_

Whatever to use SSL for the session.

◆ sslCACertificate_

std::string Engine::SessionExtraParameters::sslCACertificate_

◆ sslCertificate_

std::string Engine::SessionExtraParameters::sslCertificate_

◆ sslCertificatePassword_

std::string Engine::SessionExtraParameters::sslCertificatePassword_

◆ sslCiphersList_

std::string Engine::SessionExtraParameters::sslCiphersList_

Ciphers list configuration string.

Parameter is optional.

◆ sslContext_

Utils::Emptily<System::SSLContext> Engine::SessionExtraParameters::sslContext_

SSL context.

If set then used to establish SSL connection. Use FAProperties::getSSLClientContext() to create client context or FAProperties::getSSLServerContext() to create server context. Don't create classes instances your self or set this parameter to classes other than System::SSLContext, System::SSLClientContext or System::SSLServerContext, since this parameter can be overriden by the engine using the instance of the one mentioned above classes and your extentions to them will be lost.

◆ sslPrivateKey_

std::string Engine::SessionExtraParameters::sslPrivateKey_

◆ sslPrivateKeyPassword_

std::string Engine::SessionExtraParameters::sslPrivateKeyPassword_

◆ sslProtocols_

TriInt Engine::SessionExtraParameters::sslProtocols_

SSL protocols to use.

Parameter is mandatory if SSL is true. it is a comma separated list of protocols to use. Valid values are SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2, TLSv1_3.

◆ sslValidatePeerCertificate_

TriBool Engine::SessionExtraParameters::sslValidatePeerCertificate_

◆ storageRecoveryStrategy_

TriStorageRecoveryStrategy Engine::SessionExtraParameters::storageRecoveryStrategy_

Recovery storage parameters.

◆ storageType_

TriMessageStorageType Engine::SessionExtraParameters::storageType_

Message storage type.

◆ suppressDoubleResendRequest_

TriBool Engine::SessionExtraParameters::suppressDoubleResendRequest_

Suppresses session to send Resend request message on every incoming message with sequence greater than expected.

◆ tagsDelimiter_

TriTagsDelimiter Engine::SessionExtraParameters::tagsDelimiter_

Specifies the tag delimiter in FIX Messages Default is SOH (0x01)

◆ throttlers_

Utils::Emptily<std::vector<ThrottlerParameters> > Engine::SessionExtraParameters::throttlers_

Defines throttlers to limit throughput.

◆ transport_

Utils::Emptily<Transport> Engine::SessionExtraParameters::transport_

Low level transport of the session.

◆ useAsyncConnect_

TriBool Engine::SessionExtraParameters::useAsyncConnect_

When true, session initiator will use async TCP connect.

◆ useBlockingSockets_

TriBool Engine::SessionExtraParameters::useBlockingSockets_

If true, session will use blocking I/O.

This mode is useful for OpenOnload and enabled if aggressive mode is ON. Engine::SessionExtraParameters::aggressiveReceiveDelay_ is used as timeout parameter. Default is false.

See also
Engine::SessionExtraParameters::socketPriority_, Engine::SessionExtraParameters::aggressiveReceiveDelay_

◆ userName_

std::string Engine::SessionExtraParameters::userName_

User name.

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

◆ userNameTag_

TriInt Engine::SessionExtraParameters::userNameTag_

Specifies a tag used to store an username.

◆ validateCheckSum_

TriBool Engine::SessionExtraParameters::validateCheckSum_

If true, session skip CRC validation for incoming messages Default is true.

◆ validation_

ValidationParameters Engine::SessionExtraParameters::validation_

Validation parameters.