/*******************************************************************************
* Copyright (c) quickfixj.org All rights reserved.
*
* This file is part of the QuickFIX FIX Engine
*
* This file may be distributed under the terms of the quickfixj.org
* license as defined by quickfixj.org and appearing in the file
* LICENSE included in the packaging of this file.
*
* This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING
* THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A
* PARTICULAR PURPOSE.
*
* See http://www.quickfixengine.org/LICENSE for licensing information.
*
* Contact ask@quickfixj.org if any conditions of this licensing
* are not clear to you.
******************************************************************************/
package quickfix;
/**
*
*/
public class SessionConstants {
/**
* Session setting for heartbeat interval (in seconds).
*/
public static final String SETTING_HEARTBTINT = "HeartBtInt";
/**
* Session setting for enabling message latency checks. Values are "Y" or
* "N".
*/
public static final String SETTING_CHECK_LATENCY = "CheckLatency";
/**
* If set to Y, messages must be received from the counterparty with the
* correct SenderCompID and TargetCompID. Some systems will send you
* different CompIDs by design, so you must set this to N.
*/
public static final String SETTING_CHECK_COMP_ID = "CheckCompID";
/**
* Session setting for maximum message latency (in seconds).
*/
public static final String SETTING_MAX_LATENCY = "MaxLatency";
/**
* Session setting for the examples delay multiplier (0-1, as fraction of Heartbeat interval)
*/
public static final String SETTING_TEST_REQUEST_DELAY_MULTIPLIER = "TestRequestDelayMultiplier";
/**
* Session scheduling setting to specify that session never reset
*/
public static final String SETTING_NON_STOP_SESSION = "NonStopSession";
/**
* Session scheduling setting to specify first day of trading week.
*/
public static final String SETTING_START_DAY = "StartDay";
/**
* Session scheduling setting to specify last day of trading week.
*/
public static final String SETTING_END_DAY = "EndDay";
/**
* Session scheduling setting to specify time zone for the session.
*/
public static final String SETTING_TIMEZONE = "TimeZone";
/**
* Session scheduling setting to specify starting time of the trading day.
*/
public static final String SETTING_START_TIME = "StartTime";
/**
* Session scheduling setting to specify end time of the trading day.
*/
public static final String SETTING_END_TIME = "EndTime";
/**
* Session setting to indicate whether a data dictionary should be used. If
* a data dictionary is not used then message validation is not possble.
*/
public static final String SETTING_USE_DATA_DICTIONARY = "UseDataDictionary";
/**
* Session setting specifying the path to the data dictionary to use for
* this session. This setting supports the possibility of a custom data
* dictionary for each session. Normally, the default data dictionary for a
* specific FIX version will be specified.
*/
public static final String SETTING_DATA_DICTIONARY = "DataDictionary";
/**
* Session setting specifying the path to the transport data dictionary.
* This setting supports the possibility of a custom transport data
* dictionary for each session. This setting would only be used with FIXT 1.1 and
* new transport protocols.
*/
public static final String SETTING_TRANSPORT_DATA_DICTIONARY = "TransportDataDictionary";
/**
* Session setting specifying the path to the application data dictionary to use for
* this session. This setting supports the possibility of a custom application data
* dictionary for each session. This setting would only be used with FIXT 1.1 and
* new transport protocols. This setting can be used as a prefix to specify multiple
* application dictionaries for the FIXT transport. For example:
* <pre><code>
* DefaultApplVerID=FIX.4.2
* AppDataDictionary=FIX42.xml
* AppDataDictionary.FIX.4.4=FIX44.xml
* </code></pre>
* This would use FIX42.xml for the default application version ID and FIX44.xml for
* any FIX 4.4 messages.
*/
public static final String SETTING_APP_DATA_DICTIONARY = "AppDataDictionary";
/**
* Default is "Y".
* If set to N, fields that are out of order (i.e. body fields in the header, or header fields in the body) will not be rejected.
*/
public static final String SETTING_VALIDATE_FIELDS_OUT_OF_ORDER = "ValidateFieldsOutOfOrder";
/**
* Session validation setting for enabling whether field ordering is
* validated. Values are "Y" or "N". Default is "Y".
*/
public static final String SETTING_VALIDATE_UNORDERED_GROUP_FIELDS = "ValidateUnorderedGroupFields";
/**
* Session validation setting for enabling whether field values are
* validated. Empty fields values are not allowed. Values are "Y" or "N".
* Default is "Y".
*/
public static final String SETTING_VALIDATE_FIELDS_HAVE_VALUES = "ValidateFieldsHaveValues";
/**
* Allow to bypass the message validation. Default is "Y".
*/
public static final String SETTING_VALIDATE_INCOMING_MESSAGE = "ValidateIncomingMessage";
/**
* Session setting for logon timeout (in seconds).
*/
public static final String SETTING_LOGON_TIMEOUT = "LogonTimeout";
/**
* Session setting for logout timeout (in seconds).
*/
public static final String SETTING_LOGOUT_TIMEOUT = "LogoutTimeout";
/**
* Session setting for doing an automatic sequence number reset on logout.
* Valid values are "Y" or "N". Default is "N".
*/
public static final String SETTING_RESET_ON_LOGOUT = "ResetOnLogout";
/**
* Check the next expected target SeqNum against the received SeqNum. Default is "Y".
* If a mismatch is detected, apply the following logic:
* <ul>
* <li>if lower than expected SeqNum , logout</li>
* <li>if higher, send a resend request</li>
* </ul>
*/
public static final String SETTING_VALIDATE_SEQUENCE_NUMBERS = "ValidateSequenceNumbers";
/**
* Session setting for doing an automatic sequence number reset on
* disconnect. Valid values are "Y" or "N". Default is "N".
*/
public static final String SETTING_RESET_ON_DISCONNECT = "ResetOnDisconnect";
/**
* Session setting for doing an automatic reset when an error occurs. Valid values are "Y" or "N". Default is "N". A
* reset means disconnect, sequence numbers reset, store cleaned and reconnect, as for a daily reset.
*/
public static final String SETTING_RESET_ON_ERROR = "ResetOnError";
/**
* Session setting for doing an automatic disconnect when an error occurs. Valid values are "Y" or "N". Default is
* "N".
*/
public static final String SETTING_DISCONNECT_ON_ERROR = "DisconnectOnError";
/**
* Session setting to enable milliseconds in message timestamps. Valid
* values are "Y" or "N". Default is "Y". Only valid for FIX version >= 4.2.
*/
public static final String SETTING_MILLISECONDS_IN_TIMESTAMP = "MillisecondsInTimeStamp";
/**
* Controls validation of user-defined fields.
*/
public static final String SETTING_VALIDATE_USER_DEFINED_FIELDS = "ValidateUserDefinedFields";
/**
* Session setting that causes the session to reset sequence numbers when initiating
* a logon (>= FIX 4.2).
*/
public static final String SETTING_RESET_ON_LOGON = "ResetOnLogon";
/**
* Session description. Used by external tools.
*/
public static final String SETTING_DESCRIPTION = "Description";
/**
* Requests that state and message data be refreshed from the message store at
* logon, if possible. This supports simple failover behavior for acceptors
*/
public static final String SETTING_REFRESH_ON_LOGON = "RefreshOnLogon";
/**
* Configures the session to send redundant resend requests (off, by default).
*/
public static final String SETTING_SEND_REDUNDANT_RESEND_REQUEST = "SendRedundantResendRequests";
/**
* Persist messages setting (true, by default). If set to false this will cause the Session to
* not persist any messages and all resend requests will be answered with a gap fill.
*/
public static final String SETTING_PERSIST_MESSAGES = "PersistMessages";
/**
* Use actual end of sequence gap for resend requests rather than using "infinity"
* as the end sequence of the gap. Not recommended by the FIX specification, but
* needed for some counterparties.
*/
public static final String SETTING_USE_CLOSED_RESEND_INTERVAL = "ClosedResendInterval";
/**
* Allow unknown fields in messages. This is intended for unknown fields with tags < 5000
* (not user defined fields)
*/
public static final String SETTING_ALLOW_UNKNOWN_MSG_FIELDS = "AllowUnknownMsgFields";
public static final String SETTING_DEFAULT_APPL_VER_ID = "DefaultApplVerID";
/**
* Allow to disable heart beat failure detection
*/
public static final String SETTING_DISABLE_HEART_BEAT_CHECK = "DisableHeartBeatCheck";
/**
* Return the last msg seq number processed (optional tag 369). Valid values are "Y" or "N".
* Default is "N".
*/
public static final String SETTING_ENABLE_LAST_MSG_SEQ_NUM_PROCESSED = "EnableLastMsgSeqNumProcessed";
/**
* Return the next expected message sequence number (optional tag 789 on Logon) on sent Logon message
* and use value of tag 789 on received Logon message to synchronize session.
* Valid values are "Y" or "N".
* Default is "N".
* This should not be enabled for FIX versions lower than 4.4
*/
public static final String SETTING_ENABLE_NEXT_EXPECTED_MSG_SEQ_NUM = "EnableNextExpectedMsgSeqNum";
public static final String SETTING_REJECT_INVALID_MESSAGE = "RejectInvalidMessage";
public static final String SETTING_REJECT_MESSAGE_ON_UNHANDLED_EXCEPTION = "RejectMessageOnUnhandledException";
public static final String SETTING_REQUIRES_ORIG_SENDING_TIME = "RequiresOrigSendingTime";
public static final String SETTING_FORCE_RESEND_WHEN_CORRUPTED_STORE = "ForceResendWhenCorruptedStore";
public static final String SETTING_ALLOWED_REMOTE_ADDRESSES = "AllowedRemoteAddresses";
/**
* Setting to limit the size of a resend request in case of missing messages.
* This is useful when the remote FIX engine does not allow to ask for more than n message for a ResendRequest
*/
public static final String SETTING_RESEND_REQUEST_CHUNK_SIZE = "ResendRequestChunkSize";
}