public final class EngineConfiguration extends CommonConfiguration implements java.lang.AutoCloseable
See setters or properties for documentation of what specific configuration options do.
NB: DO NOT REUSE this object over multiple FixEngine.launch(EngineConfiguration)
calls.
FixEngine
Modifier and Type | Field and Description |
---|---|
static int |
DEFAULT_ARCHIVE_REPLAY_STREAM |
static int |
DEFAULT_ARCHIVE_SCANNER_STREAM |
static long |
DEFAULT_AUTHENTICATION_TIMEOUT_IN_MS |
static FixPRetransmitHandler |
DEFAULT_BINARY_FIXP_RETRANSMIT_HANDLER |
static long |
DEFAULT_DUPLICATE_ENGINE_TIMEOUT_IN_MS |
static java.lang.String |
DEFAULT_FIXP_ID_FILE |
static java.util.Set<java.lang.String> |
DEFAULT_GAPFILL_ON_REPLAY_MESSAGE_TYPES
Unmodifiable set of defaults, please make a copy if you wish to modify them.
|
static int |
DEFAULT_INBOUND_BYTES_RECEIVED_LIMIT |
static long |
DEFAULT_INDEX_FILE_STATE_FLUSH_TIMEOUT_IN_MS |
static int |
DEFAULT_INITIAL_SEQUENCE_INDEX |
static java.lang.String |
DEFAULT_LOG_FILE_DIR |
static int |
DEFAULT_LOGGER_CACHE_NUM_SETS |
static int |
DEFAULT_LOGGER_CACHE_SET_SIZE |
static int |
DEFAULT_MAX_CONCURRENT_SESSION_REPLAYS |
static int |
DEFAULT_NO_LOGON_DISCONNECT_TIMEOUT_IN_MS |
static int |
DEFAULT_OUTBOUND_LIBRARY_FRAGMENT_LIMIT |
static int |
DEFAULT_OUTBOUND_REPLAY_STREAM |
static int |
DEFAULT_RECEIVER_BUFFER_SIZE |
static int |
DEFAULT_RECEIVER_SOCKET_BUFFER_SIZE |
static int |
DEFAULT_REPLAY_FRAGMENT_LIMIT |
static ReplayHandler |
DEFAULT_REPLAY_HANDLER |
static int |
DEFAULT_REPLAY_INDEX_RECORD_CAPACITY |
static int |
DEFAULT_REPLAY_INDEX_SEGMENT_CAPACITY |
static int |
DEFAULT_REPLAY_POSITION_BUFFER_SIZE |
static int |
DEFAULT_SENDER_MAX_BYTES_IN_BUFFER |
static int |
DEFAULT_SENDER_SOCKET_BUFFER_SIZE |
static int |
DEFAULT_SEQUENCE_NUMBER_INDEX_SIZE |
static java.lang.String |
DEFAULT_SEQUENCE_NUMBERS_RECEIVED_FILE |
static java.lang.String |
DEFAULT_SEQUENCE_NUMBERS_SENT_FILE |
static int |
DEFAULT_SESSION_ID_BUFFER_SIZE |
static java.lang.String |
DEFAULT_SESSION_ID_FILE |
static long |
DEFAULT_SLOW_CONSUMER_TIMEOUT_IN_MS |
static long |
DEFAULT_TIME_INDEX_FLUSH_INTERVAL_IN_NS |
static java.lang.String |
INBOUND_BYTES_RECEIVED_LIMIT_PROP
Property name for the max number of bytes to read from all TCP Connections.
|
static java.lang.String |
LOG_FILE_DIR_PROP
Property name for the directory to log archive data into
|
static long |
MAX_COD_TIMEOUT_IN_MS |
static long |
MAX_COD_TIMEOUT_IN_NS |
static java.lang.String |
NO_LOGON_DISCONNECT_TIMEOUT_PROP
Property name for the timeout before a connection that hasn't sent a logon is disconnected
|
static int |
NO_THROTTLE_WINDOW |
static java.lang.String |
OUTBOUND_LIBRARY_FRAGMENT_LIMIT_PROP
Property name for the max number of messages to read from libraries.
|
static java.lang.String |
RECEIVER_BUFFER_SIZE_PROP
Property name for the size in bytes of the receiver end point's framing buffer.
|
static java.lang.String |
RECEIVER_SOCKET_BUFFER_SIZE_PROP
Property name for the size in bytes of the TCP socket's receive buffer.
|
static java.lang.String |
REPLAY_FRAGMENT_LIMIT_PROP
Property name for the max number of messages to read from replayer.
|
static java.lang.String |
REPLAY_INDEX_FILE_SIZE_PROP
Deprecated.
|
static java.lang.String |
REPLAY_INDEX_RECORD_CAPACITY_PROP
Property name for maximum number of records in logging index files
|
static java.lang.String |
SENDER_MAX_BYTES_IN_BUFFER_PROP
Property name for the maximum number of bytes to allow in the quarantine buffer before disconnection
|
static java.lang.String |
SENDER_SOCKET_BUFFER_SIZE_PROP
Property name for the size in bytes of the TCP socket's send buffer.
|
static java.lang.String |
SEQUENCE_NUMBER_INDEX_SIZE_PROP
Property name for the size in bytes of the sequence number cache file
|
static java.lang.String |
SESSION_ID_BUFFER_SIZE_PROP
Property name for the size in bytes of the session id file
|
BACKOFF_SPINS, BACKOFF_YIELDS, DEBUG_FILE, DEBUG_FILE_PROPERTY, DEBUG_LOGGING_SEPARATOR, DEBUG_PRINT_MESSAGE_TYPES, DEBUG_PRINT_MESSAGE_TYPES_PROPERTY, DEBUG_PRINT_MESSAGES, DEBUG_PRINT_MESSAGES_PROPERTY, DEBUG_PRINT_THREAD, DEBUG_PRINT_THREAD_PROPERTY, DEBUG_TAGS, DEFAULT_DEBUG_LOGGING_SEPARATOR, DEFAULT_DIRECTORY, DEFAULT_HEARTBEAT_INTERVAL_IN_S, DEFAULT_HISTOGRAM_LOGGING_FILE, DEFAULT_HISTOGRAM_POLL_PERIOD_IN_MS, DEFAULT_INBOUND_LIBRARY_STREAM, DEFAULT_INBOUND_MAX_CLAIM_ATTEMPTS, DEFAULT_MAX_FIXP_KEEPALIVE_TIMEOUT_IN_MS, DEFAULT_MONITORING_BUFFER_LENGTH, DEFAULT_MONITORING_FILE, DEFAULT_NAME_PREFIX, DEFAULT_OUTBOUND_LIBRARY_STREAM, DEFAULT_OUTBOUND_MAX_CLAIM_ATTEMPTS, DEFAULT_PRINT_AERON_STREAM_IDENTIFIERS, DEFAULT_REASONABLE_TRANSMISSION_TIME_IN_MS, DEFAULT_REASONABLE_TRANSMISSION_TIME_IN_S, DEFAULT_REPLY_TIMEOUT_IN_MS, DEFAULT_RESEND_REQUEST_CONTROLLER, DEFAULT_SENDING_TIME_WINDOW, DEFAULT_SESSION_BUFFER_SIZE, FORCE_WRITES, FORCE_WRITES_MESSAGES_PROPERTY, HISTOGRAM_LOGGING_FILE_PROPERTY, HISTOGRAM_POLL_PERIOD_IN_MS_PROPERTY, INBOUND_MAX_CLAIM_ATTEMPTS_PROPERTY, LOGGING_SEPARATOR_PROPERTY, MONITORING_BUFFERS_LENGTH_PROPERTY, MONITORING_FILE_PROPERTY, NO_FIXP_MAX_RETRANSMISSION_RANGE, OUTBOUND_MAX_CLAIM_ATTEMPTS_PROPERTY, RUNNING_ON_WINDOWS, threadFactory, TIME_MESSAGES, TIME_MESSAGES_PROPERTY
Constructor and Description |
---|
EngineConfiguration() |
Modifier and Type | Method and Description |
---|---|
boolean |
acceptedEnableLastMsgSeqNumProcessed() |
EngineConfiguration |
acceptedEnableLastMsgSeqNumProcessed(boolean acceptedEnableLastMsgSeqNumProcessed)
Sets the
SessionConfiguration.enableLastMsgSeqNumProcessed() property for accepted Sessions. |
boolean |
acceptedSessionClosedResendInterval() |
EngineConfiguration |
acceptedSessionClosedResendInterval(boolean acceptedSessionClosedResendInterval)
Sets the
SessionConfiguration.closedResendInterval() property for accepted Sessions. |
int |
acceptedSessionResendRequestChunkSize() |
EngineConfiguration |
acceptedSessionResendRequestChunkSize(int acceptedSessionResendRequestChunkSize)
Sets the
SessionConfiguration.resendRequestChunkSize() property for accepted Sessions. |
boolean |
acceptedSessionSendRedundantResendRequests() |
EngineConfiguration |
acceptedSessionSendRedundantResendRequests(boolean acceptedSessionSendRedundantResendRequests)
Sets the
SessionConfiguration.sendRedundantResendRequests() property for accepted Sessions. |
EngineConfiguration |
acceptFixPProtocol(uk.co.real_logic.artio.messages.FixPProtocolType acceptorFixPProtocol)
Configures the engine to accept the provided FIXP connections.
|
uk.co.real_logic.artio.dictionary.FixDictionary |
acceptorfixDictionary() |
EngineConfiguration |
acceptorfixDictionary(java.lang.Class<? extends uk.co.real_logic.artio.dictionary.FixDictionary> acceptorfixDictionary)
Specify a single acceptor FIX Dictionary.
|
java.util.Map<java.lang.String,uk.co.real_logic.artio.dictionary.FixDictionary> |
acceptorFixDictionaryOverrides() |
boolean |
acceptsFixP() |
io.aeron.archive.client.AeronArchive.Context |
aeronArchiveContext() |
io.aeron.Aeron.Context |
aeronContextClone() |
EngineConfiguration |
agentNamePrefix(java.lang.String agentNamePrefix)
Sets the prefix to be used on agent names.
|
io.aeron.archive.client.AeronArchive.Context |
archiveContextClone() |
int |
archiveReplayStream() |
EngineConfiguration |
archiveReplayStream(int archiveReplayStream) |
org.agrona.concurrent.IdleStrategy |
archiverIdleStrategy() |
EngineConfiguration |
archiverIdleStrategy(org.agrona.concurrent.IdleStrategy archiverIdleStrategy)
Sets the idle strategy for the Logger thread.
|
AuthenticationStrategy |
authenticationStrategy() |
EngineConfiguration |
authenticationStrategy(AuthenticationStrategy authenticationStrategy)
Sets the authentication strategy of the FIX Engine to be used for FIX sessions, see
AuthenticationStrategy for details. |
long |
authenticationTimeoutInMs() |
EngineConfiguration |
authenticationTimeoutInMs(long authenticationTimeoutInMs)
Sets the timeout to be used for the authentication process.
|
EngineConfiguration |
backpressureMessagesDuringReplay(boolean backpressureMessagesDuringReplay)
Configures whether
Session.trySend() methods such as
Session.trySend(Encoder) backpressure attempts to write FIX messages
whilst a replay is in progress. |
java.net.InetSocketAddress |
bindAddress() |
boolean |
bindAtStartup() |
EngineConfiguration |
bindAtStartup(boolean bindAtStartup)
Controls whether the engine should eagerly bind the network interface at startup when
bindTo(String, int) is used, or
whether it is delayed delayed until FixEngine.bind() is invoked. |
EngineConfiguration |
bindTo(java.lang.String host,
int port)
Sets the local address to bind to when the Gateway is used to accept connections.
|
CancelOnDisconnectTimeoutHandler |
cancelOnDisconnectTimeoutHandler()
See
cancelOnDisconnectTimeoutHandler(CancelOnDisconnectTimeoutHandler) for details. |
EngineConfiguration |
cancelOnDisconnectTimeoutHandler(CancelOnDisconnectTimeoutHandler cancelOnDisconnectTimeoutHandler)
Sets the cancel on disconnect timeout handler for FIX sessions.
|
TcpChannelSupplier |
channelSupplier() |
EngineConfiguration |
channelSupplierFactory(java.util.function.Function<EngineConfiguration,TcpChannelSupplier> value) |
void |
close() |
EngineConfiguration |
conclude() |
EngineConfiguration |
customErrorConsumer(org.agrona.concurrent.errors.ErrorConsumer customErrorConsumer)
Deprecated.
|
EngineConfiguration |
defaultHeartbeatIntervalInS(int value)
Set the default interval for heartbeats if not exchanged upon logon.
|
boolean |
deleteLogFileDirOnStart() |
EngineConfiguration |
deleteLogFileDirOnStart(boolean deleteLogFileDirOnStart)
Enable or disable the deleting of the
logFileDir(String) on startup. |
long |
duplicateEngineTimeoutInMs() |
EngineConfiguration |
duplicateEngineTimeoutInMs(long duplicateEngineTimeoutInMs)
Sets the timeout for detecting duplicate engines.
|
EngineConfiguration |
enableMessageThrottle(int throttleWindowInMs,
int throttleLimitOfMessages)
Enables Artio's message throttle.
|
EngineConfiguration |
epochNanoClock(org.agrona.concurrent.EpochNanoClock epochNanoClock)
Sets the clock used for producing requestTimestamp fields on iLink3 messages.
|
EngineConfiguration |
errorHandlerFactory(ErrorHandlerFactory errorHandlerFactory)
By default errors within Artio are stored into a
DistinctErrorLog and also printed out. |
boolean |
errorIfDuplicateEngineDetected() |
EngineConfiguration |
errorIfDuplicateEngineDetected(boolean errorIfDuplicateEngineDetected)
Enables or disables the detection startup duplicate engine detection.
|
EngineConfiguration |
fixPAcceptedSessionMaxRetransmissionRange(int fixPAcceptedSessionMaxRetransmissionRange)
Sets the maximum count allowed in a FIXP retransmit request.
|
FixPAuthenticationStrategy |
fixPAuthenticationStrategy() |
EngineConfiguration |
fixPAuthenticationStrategy(FixPAuthenticationStrategy fixPAuthenticationStrategy)
Sets the authentication strategy of the FIX Engine to be used for FIXP sessions, see
AuthenticationStrategy for details. |
FixPCancelOnDisconnectTimeoutHandler |
fixPCancelOnDisconnectTimeoutHandler()
|
EngineConfiguration |
fixPCancelOnDisconnectTimeoutHandler(FixPCancelOnDisconnectTimeoutHandler fixPCancelOnDisconnectTimeoutHandler)
Sets the cancel on disconnect timeout handler for FIXP connections.
|
MappedFile |
fixPIdBuffer() |
FixPRetransmitHandler |
fixPRetransmitHandler() |
EngineConfiguration |
fixPRetransmitHandler(FixPRetransmitHandler fixPRetransmitHandler)
Sets a handler that will be invoked when an iLink3 message is replayed.
|
org.agrona.concurrent.IdleStrategy |
framerIdleStrategy() |
EngineConfiguration |
framerIdleStrategy(org.agrona.concurrent.IdleStrategy framerIdleStrategy)
Sets the idle strategy for the Framer thread.
|
java.util.Set<java.lang.String> |
gapfillOnReplayMessageTypes() |
EngineConfiguration |
gapfillOnReplayMessageTypes(java.util.Set<java.lang.String> gapfillOnReplayMessageTypes)
Sets the types of message that are gapfilled instead of replayed.
|
org.agrona.collections.IntHashSet |
gapfillOnRetransmitILinkTemplateIds() |
EngineConfiguration |
gapfillOnRetransmitILinkTemplateIds(org.agrona.collections.IntHashSet gapfillOnRetransmitILinkTemplateIds)
Sets the types of template ids that are gapfilled instead of replayed in an Ilink3 connection.
|
boolean |
hasBindAddress() |
EngineConfiguration |
histogramHandler(HistogramHandler histogramHandler) |
EngineConfiguration |
histogramLoggingFile(java.lang.String histogramLoggingFile) |
EngineConfiguration |
histogramPollPeriodInMs(long histogramPollPeriodInMs) |
EngineConfiguration |
iLink3RetransmitHandler(ILink3RetransmitHandler iLink3RetransmitHandler)
Deprecated.
|
int |
inboundAdminStream() |
EngineConfiguration |
inboundAdminStream(int inboundAdminStream)
Set the stream id from an admin API to a FIX Engine.
|
int |
inboundBytesReceivedLimit() |
EngineConfiguration |
inboundBytesReceivedLimit(int inboundBytesReceivedLimit)
Sets the bytes limit for receiving inbound messages.
|
EngineConfiguration |
inboundLibraryStream(int inboundLibraryStream)
Set the Aeron stream id to be used for the inbound stream, aka coming from counter-parties to the library.
|
EngineConfiguration |
inboundMaxClaimAttempts(int inboundMaxClaimAttempts)
Sets the inbound max claim attempts.
|
long |
indexFileStateFlushTimeoutInMs() |
EngineConfiguration |
indexFileStateFlushTimeoutInMs(long indexFileStateFlushTimeoutInMs) |
uk.co.real_logic.artio.messages.InitialAcceptedSessionOwner |
initialAcceptedSessionOwner() |
EngineConfiguration |
initialAcceptedSessionOwner(uk.co.real_logic.artio.messages.InitialAcceptedSessionOwner initialAcceptedSessionOwner)
Set whether accepted sessions are initially owned by the Engine or a Library - the default is
the Engine.
|
int |
initialSequenceIndex() |
EngineConfiguration |
initialSequenceIndex(int initialSequenceIndex)
Sets the initial sequenceIndex for the new session.
|
boolean |
isRelevantStreamId(int streamId) |
java.lang.String |
libraryAeronChannel() |
EngineConfiguration |
libraryAeronChannel(java.lang.String libraryAeronChannel)
Sets the aeron channel that libraries will use to communicate with this FixEngine instance.
|
boolean |
logAllMessages() |
java.lang.String |
logFileDir() |
EngineConfiguration |
logFileDir(java.lang.String logFileDir)
Sets the directory to store log files in.
|
int |
loggerCacheNumSets() |
EngineConfiguration |
loggerCacheNumSets(int loggerCacheNumSets)
Sets the number of sets of in the logger's caches.
|
int |
loggerCacheSetSize() |
EngineConfiguration |
loggerCacheSetSize(int loggerCacheSetSize)
Sets the set size of the logger's caches.
|
boolean |
logInboundMessages() |
EngineConfiguration |
logInboundMessages(boolean logInboundMessages)
Sets logging of inbound messages.
|
boolean |
logOutboundMessages() |
EngineConfiguration |
logOutboundMessages(boolean logOutboundMessages)
Sets logging of outbound messages.
|
EngineConfiguration |
lookupDefaultAcceptorfixDictionary(boolean lookupDefaultAcceptorfixDictionary)
Can be used to disable the automated lookup of an acceptorFixDictionary.
|
int |
maxConcurrentSessionReplays() |
EngineConfiguration |
maxConcurrentSessionReplays(int maxConcurrentSessionReplays)
Sets the maximum number of resend requests per session that Artio will process concurrently.
|
EngineConfiguration |
maxFixPKeepaliveTimeoutInMs(long maxFixpKeepaliveTimeoutInMs)
Sets the maximum keep alive timeout in milliseconds that can be agreed by a FIXP connection's logon exchange.
|
MessageTimingHandler |
messageTimingHandler() |
EngineConfiguration |
messageTimingHandler(MessageTimingHandler messageTimingHandler)
Sets the message timing handler for this Engine instance.
|
EngineConfiguration |
messageValidationStrategy(MessageValidationStrategy messageValidationStrategy)
Sets the message validation strategy of the FIX Library,
see
MessageValidationStrategy for details. |
EngineConfiguration |
monitoringAgentFactory(MonitoringAgentFactory monitoringAgentFactory)
By default an implementation is provided that prints out errors from an
DistinctErrorLog
and also prints out any AeronArchive errors. |
EngineConfiguration |
monitoringBuffersLength(java.lang.Integer monitoringBuffersLength)
Sets the length of the buffer used for monitoring counters.
|
EngineConfiguration |
monitoringFile(java.lang.String monitoringFile)
Sets the location for the monitoring file.
|
EngineConfiguration |
monitoringThreadIdleStrategy(org.agrona.concurrent.IdleStrategy errorPrinterIdleStrategy)
Sets the idle strategy for the Error Printer thread.
|
EngineConfiguration |
noEstablishFixPTimeoutInMs(long noEstablishFixPTimeoutInMs)
Sets the timeout in milliseconds before a FIXP TCP connection is closed if no establish message is sent.
|
int |
noLogonDisconnectTimeoutInMs() |
EngineConfiguration |
noLogonDisconnectTimeoutInMs(int noLogonDisconnectTimeout)
Set the timeout in milliseconds for TCP connections which don't send a logon message.
|
int |
outboundAdminStream() |
EngineConfiguration |
outboundAdminStream(int outboundAdminStream)
Set the stream id from a FIX Engine to an admin API.
|
int |
outboundLibraryFragmentLimit() |
EngineConfiguration |
outboundLibraryFragmentLimit(int outboundLibraryFragmentLimit)
Sets the fragment limit for the subscription to outbound messages from libraries.
|
EngineConfiguration |
outboundLibraryStream(int outboundLibraryStream)
Set the Aeron stream id to be used for the outbound stream, aka coming from the library and going out to
counter-parties.
|
EngineConfiguration |
outboundMaxClaimAttempts(int outboundMaxClaimAttempts)
Sets the outbound max claim attempts.
|
int |
outboundReplayStream() |
EngineConfiguration |
outboundReplayStream(int outboundReplayStream) |
EngineConfiguration |
overrideAcceptorFixDictionary(java.lang.Class<? extends uk.co.real_logic.artio.dictionary.FixDictionary> fixDictionaryClass)
Override the acceptor FIX Dictionary for a given beginString.
|
EngineConfiguration |
printAeronStreamIdentifiers(boolean printAeronStreamIdentifiers)
Set to true to print out the mapping between aeron stream identifiers (sessionIds) and the usage of given
Aeron publication and subscription objects within Artio.
|
EngineConfiguration |
printErrorMessages(boolean printErrorMessages)
Deprecated.
|
boolean |
printStartupWarnings() |
EngineConfiguration |
printStartupWarnings(boolean printStartupWarnings) |
EngineConfiguration |
reasonableTransmissionTimeInMs(long reasonableTransmissionTimeInMs) |
org.agrona.concurrent.AtomicBuffer |
receivedSequenceNumberBuffer() |
MappedFile |
receivedSequenceNumberIndex() |
int |
receiverBufferSize()
|
EngineConfiguration |
receiverBufferSize(int receiverBufferSize)
Sets the receiver buffer size.
|
int |
receiverSocketBufferSize()
See
receiverSocketBufferSize(int) for details. |
EngineConfiguration |
receiverSocketBufferSize(int receiverSocketBufferSize)
Sets the receiver socket buffer size.
|
int |
replayFragmentLimit() |
EngineConfiguration |
replayFragmentLimit(int outboundReplayFragmentLimit)
Sets the fragment limit for the subscription to messages from the replayer.
|
ReplayHandler |
replayHandler() |
EngineConfiguration |
replayHandler(ReplayHandler replayHandler)
Sets a handler that will be invoked when a message is replayed.
|
static int |
replayIndexFileCapacityToBytes(int requestedNumberOfRecordsToStore)
Convert the number of records in a replay index file to a file size.
|
int |
replayIndexFileRecordCapacity() |
EngineConfiguration |
replayIndexFileRecordCapacity(int replayIndexFileRecordCapacity)
Sets the maximum size of index files.
|
int |
replayIndexSegmentRecordCapacity() |
EngineConfiguration |
replayIndexSegmentRecordCapacity(int indexSegmentCapacityInRecords)
Sets the capacity of an individual segment file.
|
int |
replayPositionBufferSize() |
EngineConfiguration |
replayPositionBufferSize(int replayPositionBufferSize) |
EngineConfiguration |
replyTimeoutInMs(long replyTimeoutInMs)
Sets the reply timeout in milliseconds.
|
EngineConfiguration |
resendRequestController(ResendRequestController resendRequestController)
Configures how a resend request is responded to.
|
EngineScheduler |
scheduler() |
EngineConfiguration |
scheduler(EngineScheduler scheduler) |
int |
senderMaxBytesInBuffer() |
EngineConfiguration |
senderMaxBytesInBuffer(int senderMaxBytesInBuffer) |
int |
senderSocketBufferSize() |
EngineConfiguration |
senderSocketBufferSize(int senderSocketBufferSize)
Sets the sender socket buffer size.
|
EngineConfiguration |
sendingTimeWindowInMs(long sendingTimeWindowInMs)
Sets the sending time window.
|
org.agrona.concurrent.AtomicBuffer |
sentSequenceNumberBuffer() |
MappedFile |
sentSequenceNumberIndex() |
EngineConfiguration |
sessionBufferSize(int bufferSize)
Sets the session's encoding buffer size.
|
EngineConfiguration |
sessionCustomisationStrategy(SessionCustomisationStrategy sessionCustomisationStrategy)
Sets the session customisation strategy of the FIX Library,
see
SessionCustomisationStrategy for details. |
EngineConfiguration |
sessionEpochFractionFormat(uk.co.real_logic.artio.fields.EpochFractionFormat sessionEpochFractionFormat)
Sets the time precision that the the session logic uses to encode time stamps.
|
MappedFile |
sessionIdBuffer() |
EngineConfiguration |
sessionIdStrategy(SessionIdStrategy sessionIdStrategy)
Sets the session id strategy.
|
SessionPersistenceStrategy |
sessionPersistenceStrategy() |
EngineConfiguration |
sessionPersistenceStrategy(SessionPersistenceStrategy sessionReplicationStrategy) |
long |
slowConsumerTimeoutInMs() |
EngineConfiguration |
slowConsumerTimeoutInMs(long slowConsumerTimeoutInMs) |
uk.co.real_logic.artio.messages.FixPProtocolType |
supportedFixPProtocolType() |
EngineConfiguration |
threadFactory(java.util.concurrent.ThreadFactory threadFactory)
Sets factory for threads such as framer, archivingRunner, etc in EngineScheduler
|
int |
throttleLimitOfMessages() |
int |
throttleWindowInMs() |
long |
timeIndexReplayFlushIntervalInNs() |
EngineConfiguration |
timeIndexReplayFlushIntervalInNs(long timeIndexReplayFlushIntervalInNs)
Sets the interval that the time index, used for optimizing the
FixArchiveScanner . |
EngineConfiguration |
validateCompIdsOnEveryMessage(boolean validateCompIdsOnEveryMessage)
Set to true in order to check that the sender, target comp ids (including sub and location) are the same on
every message as the logon message.
|
static void |
validateMessageThrottleOptions(int throttleWindowInMs,
int throttleLimitOfMessages) |
EngineConfiguration |
validateTimeStrictly(boolean validateTimeStrictly)
Set to true in order to validate that time from sender corresponds to FIX time format.
|
aeronContext, agentNamePrefix, backoffIdleStrategy, backpressureMessagesDuringReplay, conclude, connectAttemptTimeoutInMs, defaultHeartbeatIntervalInS, epochNanoClock, errorHandlerFactory, fixPAcceptedSessionMaxRetransmissionRange, histogramHandler, histogramLoggingFile, histogramPollPeriodInMs, inboundLibraryStream, inboundMaxClaimAttempts, maxFixPKeepaliveTimeoutInMs, messageValidationStrategy, monitoringAgentFactory, monitoringBuffersLength, monitoringFile, monitoringThreadIdleStrategy, noEstablishFixPTimeoutInMs, optimalTmpDirName, outboundLibraryStream, outboundMaxClaimAttempts, printAeronStreamIdentifiers, reasonableTransmissionTimeInMs, replyTimeoutInMs, resendRequestController, sendingTimeWindowInMs, sessionBufferSize, sessionCustomisationStrategy, sessionEpochFractionFormat, sessionIdStrategy, threadFactory, validateCompIdsOnEveryMessage, validateTimeout, validateTimeStrictly
public static final java.lang.String LOG_FILE_DIR_PROP
public static final java.lang.String REPLAY_INDEX_RECORD_CAPACITY_PROP
@Deprecated public static final java.lang.String REPLAY_INDEX_FILE_SIZE_PROP
REPLAY_INDEX_RECORD_CAPACITY_PROP
instead.public static final java.lang.String OUTBOUND_LIBRARY_FRAGMENT_LIMIT_PROP
public static final java.lang.String REPLAY_FRAGMENT_LIMIT_PROP
public static final java.lang.String INBOUND_BYTES_RECEIVED_LIMIT_PROP
public static final java.lang.String RECEIVER_BUFFER_SIZE_PROP
public static final java.lang.String RECEIVER_SOCKET_BUFFER_SIZE_PROP
public static final java.lang.String SENDER_SOCKET_BUFFER_SIZE_PROP
public static final java.lang.String SEQUENCE_NUMBER_INDEX_SIZE_PROP
public static final java.lang.String SESSION_ID_BUFFER_SIZE_PROP
public static final java.lang.String SENDER_MAX_BYTES_IN_BUFFER_PROP
public static final java.lang.String NO_LOGON_DISCONNECT_TIMEOUT_PROP
public static final java.lang.String DEFAULT_LOG_FILE_DIR
public static final int DEFAULT_REPLAY_INDEX_RECORD_CAPACITY
public static final int DEFAULT_REPLAY_INDEX_SEGMENT_CAPACITY
public static final int DEFAULT_LOGGER_CACHE_NUM_SETS
public static final int DEFAULT_LOGGER_CACHE_SET_SIZE
public static final int DEFAULT_OUTBOUND_LIBRARY_FRAGMENT_LIMIT
public static final int DEFAULT_REPLAY_FRAGMENT_LIMIT
public static final int DEFAULT_INBOUND_BYTES_RECEIVED_LIMIT
public static final int DEFAULT_RECEIVER_BUFFER_SIZE
public static final int DEFAULT_RECEIVER_SOCKET_BUFFER_SIZE
public static final int DEFAULT_SENDER_SOCKET_BUFFER_SIZE
public static final int DEFAULT_SEQUENCE_NUMBER_INDEX_SIZE
public static final int DEFAULT_SESSION_ID_BUFFER_SIZE
public static final int DEFAULT_SENDER_MAX_BYTES_IN_BUFFER
public static final int DEFAULT_REPLAY_POSITION_BUFFER_SIZE
public static final int DEFAULT_NO_LOGON_DISCONNECT_TIMEOUT_IN_MS
public static final java.lang.String DEFAULT_SESSION_ID_FILE
public static final java.lang.String DEFAULT_FIXP_ID_FILE
public static final java.lang.String DEFAULT_SEQUENCE_NUMBERS_SENT_FILE
public static final java.lang.String DEFAULT_SEQUENCE_NUMBERS_RECEIVED_FILE
public static final long DEFAULT_SLOW_CONSUMER_TIMEOUT_IN_MS
public static final ReplayHandler DEFAULT_REPLAY_HANDLER
public static final FixPRetransmitHandler DEFAULT_BINARY_FIXP_RETRANSMIT_HANDLER
public static final java.util.Set<java.lang.String> DEFAULT_GAPFILL_ON_REPLAY_MESSAGE_TYPES
public static final long DEFAULT_INDEX_FILE_STATE_FLUSH_TIMEOUT_IN_MS
public static final long DEFAULT_AUTHENTICATION_TIMEOUT_IN_MS
public static final int DEFAULT_MAX_CONCURRENT_SESSION_REPLAYS
public static final long DEFAULT_DUPLICATE_ENGINE_TIMEOUT_IN_MS
public static final int NO_THROTTLE_WINDOW
public static final long MAX_COD_TIMEOUT_IN_NS
public static final long MAX_COD_TIMEOUT_IN_MS
public static final long DEFAULT_TIME_INDEX_FLUSH_INTERVAL_IN_NS
public static final int DEFAULT_OUTBOUND_REPLAY_STREAM
public static final int DEFAULT_ARCHIVE_REPLAY_STREAM
public static final int DEFAULT_ARCHIVE_SCANNER_STREAM
public static final int DEFAULT_INITIAL_SEQUENCE_INDEX
public EngineConfiguration bindTo(java.lang.String host, int port)
Optional. If set defaults bindAtStartup(boolean)
to true. Care should be taken with the
initialisation order of these options.
host
- the hostname to bind to.port
- the port to bind to.public EngineConfiguration bindAtStartup(boolean bindAtStartup)
bindTo(String, int)
is used, or
whether it is delayed delayed until FixEngine.bind()
is invoked. If used in conjunction with
InitialAcceptedSessionOwner.SOLE_LIBRARY
then the binding operation will delayed until the library
is connected.bindAtStartup
- false to delay binding until FixEngine.bind()
is invoked.public EngineConfiguration acceptFixPProtocol(uk.co.real_logic.artio.messages.FixPProtocolType acceptorFixPProtocol)
lookupDefaultAcceptorfixDictionary(false)
acceptorFixPProtocol
- the protocol to acceptjava.lang.IllegalArgumentException
- if acceptorFixPProtocol isn't a valid protocolpublic EngineConfiguration receiverBufferSize(int receiverBufferSize)
receiverBufferSize
- the receiver buffer size.CommonConfiguration.sessionBufferSize(int)
,
RECEIVER_BUFFER_SIZE_PROP
public EngineConfiguration receiverSocketBufferSize(int receiverSocketBufferSize)
receiverSocketBufferSize
- the receiver socket buffer size.RECEIVER_SOCKET_BUFFER_SIZE_PROP
public EngineConfiguration senderSocketBufferSize(int senderSocketBufferSize)
senderSocketBufferSize
- the receiver socket buffer size.SENDER_SOCKET_BUFFER_SIZE_PROP
public EngineConfiguration logFileDir(java.lang.String logFileDir)
logFileDir
- the directory to store log files in.LOG_FILE_DIR_PROP
public EngineConfiguration replayIndexFileRecordCapacity(int replayIndexFileRecordCapacity)
replayIndexSegmentRecordCapacity(int)
.
If this isn't a power of two, then the next positive power of two will be used.
replayIndexFileCapacityToBytes(int)
can be used in order to calculate the maximum space required per
FIX session.replayIndexFileRecordCapacity
- the number of fix messages to keep track of the replay index.public EngineConfiguration replayIndexSegmentRecordCapacity(int indexSegmentCapacityInRecords)
replayIndexFileRecordCapacity(int)
for more
details.
If this isn't a power of two, then the next positive power of two will be used.indexSegmentCapacityInRecords
- the capacity of an individual segment filepublic static int replayIndexFileCapacityToBytes(int requestedNumberOfRecordsToStore)
requestedNumberOfRecordsToStore
- the number of records to store in the replay index.public EngineConfiguration loggerCacheSetSize(int loggerCacheSetSize)
The logging and archival mechanism
has several caches of open memory mapped files which it stores streams of messages
into. This and loggerCacheNumSets
controls the size of those caches.
Should be increased if you see files being opened/closed in that area too frequently.
Int2ObjectCache
explains the difference between set size
and num sets.
loggerCacheSetSize
- the set size of the logger's caches.public EngineConfiguration loggerCacheNumSets(int loggerCacheNumSets)
loggerCacheNumSets
- the number of sets of in the logger's caches.loggerCacheSetSize(int)
public EngineConfiguration logInboundMessages(boolean logInboundMessages)
Switch off if you don't want the logging system to store all inbound messages in the archival system.
Default: true. NB: if this configuration parameter is switched off then any replay requests will be gap filled.
logInboundMessages
- logging of inbound messages.public EngineConfiguration logOutboundMessages(boolean logOutboundMessages)
Switch off if you don't want the logging system to store all outbound messages. NB: take care if you switch this off as message replay won't work.
Default: true.
logOutboundMessages
- logging of outbound messages.public EngineConfiguration printStartupWarnings(boolean printStartupWarnings)
public EngineConfiguration framerIdleStrategy(org.agrona.concurrent.IdleStrategy framerIdleStrategy)
framerIdleStrategy
- the idle strategy for the Framer thread.public EngineConfiguration archiverIdleStrategy(org.agrona.concurrent.IdleStrategy archiverIdleStrategy)
archiverIdleStrategy
- the idle strategy for the Logger thread.public EngineConfiguration outboundLibraryFragmentLimit(int outboundLibraryFragmentLimit)
outboundLibraryFragmentLimit
- the fragment limit for the subscription to outbound messages from libraries.OUTBOUND_LIBRARY_FRAGMENT_LIMIT_PROP
public EngineConfiguration replayFragmentLimit(int outboundReplayFragmentLimit)
outboundReplayFragmentLimit
- the fragment limit for the subscription to messages from the replayer.REPLAY_FRAGMENT_LIMIT_PROP
public EngineConfiguration inboundBytesReceivedLimit(int inboundBytesReceivedLimit)
inboundBytesReceivedLimit
- the bytes limit for receiving inbound messages.INBOUND_BYTES_RECEIVED_LIMIT_PROP
public EngineConfiguration senderMaxBytesInBuffer(int senderMaxBytesInBuffer)
public EngineConfiguration noLogonDisconnectTimeoutInMs(int noLogonDisconnectTimeout)
noLogonDisconnectTimeout
- the timeout in milliseconds for TCP connections which don't send a logon messagepublic EngineConfiguration channelSupplierFactory(java.util.function.Function<EngineConfiguration,TcpChannelSupplier> value)
public EngineConfiguration sessionPersistenceStrategy(SessionPersistenceStrategy sessionReplicationStrategy)
public EngineConfiguration slowConsumerTimeoutInMs(long slowConsumerTimeoutInMs)
public EngineConfiguration scheduler(EngineScheduler scheduler)
public EngineConfiguration gapfillOnReplayMessageTypes(java.util.Set<java.lang.String> gapfillOnReplayMessageTypes)
gapfillOnReplayMessageTypes
- the message types to gap fillDEFAULT_GAPFILL_ON_REPLAY_MESSAGE_TYPES
public EngineConfiguration gapfillOnRetransmitILinkTemplateIds(org.agrona.collections.IntHashSet gapfillOnRetransmitILinkTemplateIds)
gapfillOnRetransmitILinkTemplateIds
- the template ids to gap fillpublic EngineConfiguration replayHandler(ReplayHandler replayHandler)
replayHandler
- the replay handler@Deprecated public EngineConfiguration iLink3RetransmitHandler(ILink3RetransmitHandler iLink3RetransmitHandler)
fixPRetransmitHandler(FixPRetransmitHandler)
instead.iLink3RetransmitHandler
- the replay handlerpublic EngineConfiguration fixPRetransmitHandler(FixPRetransmitHandler fixPRetransmitHandler)
fixPRetransmitHandler
- the replay handlerpublic EngineConfiguration outboundReplayStream(int outboundReplayStream)
public EngineConfiguration archiveReplayStream(int archiveReplayStream)
public EngineConfiguration acceptedSessionClosedResendInterval(boolean acceptedSessionClosedResendInterval)
SessionConfiguration.closedResendInterval()
property for accepted Sessions.acceptedSessionClosedResendInterval
- the SessionConfiguration.closedResendInterval()
property for
accepted Sessions.public EngineConfiguration acceptedSessionResendRequestChunkSize(int acceptedSessionResendRequestChunkSize)
SessionConfiguration.resendRequestChunkSize()
property for accepted Sessions.acceptedSessionResendRequestChunkSize
- the SessionConfiguration.resendRequestChunkSize()
property
for accepted Sessions.public EngineConfiguration acceptedSessionSendRedundantResendRequests(boolean acceptedSessionSendRedundantResendRequests)
SessionConfiguration.sendRedundantResendRequests()
property for accepted Sessions.acceptedSessionSendRedundantResendRequests
- the SessionConfiguration.sendRedundantResendRequests()
property for accepted Sessions.public EngineConfiguration acceptedEnableLastMsgSeqNumProcessed(boolean acceptedEnableLastMsgSeqNumProcessed)
SessionConfiguration.enableLastMsgSeqNumProcessed()
property for accepted Sessions.acceptedEnableLastMsgSeqNumProcessed
- the SessionConfiguration.enableLastMsgSeqNumProcessed()
property for accepted Sessions.public EngineConfiguration initialAcceptedSessionOwner(uk.co.real_logic.artio.messages.InitialAcceptedSessionOwner initialAcceptedSessionOwner)
SOLE_LIBRARY
mode is chosen then only a single library instance must connect.
In sole
library mode the server side TCP port will automatically be bound when the sole library connects, and unbound
when it disconnects.initialAcceptedSessionOwner
- whether accepted sessions are initially owned by the Engine or a Librarypublic EngineConfiguration libraryAeronChannel(java.lang.String libraryAeronChannel)
libraryAeronChannel
- the aeron channel that libraries will use to communicate with this FixEngine instance.public EngineConfiguration authenticationStrategy(AuthenticationStrategy authenticationStrategy)
AuthenticationStrategy
for details.
This only needs to be set if this FIX Engine is an acceptor and has no impact on an initiator.
authenticationStrategy
- the authentication strategy to use.authenticationTimeoutInMs(long)
public EngineConfiguration fixPAuthenticationStrategy(FixPAuthenticationStrategy fixPAuthenticationStrategy)
AuthenticationStrategy
for details.
This only needs to be set if this FIX Engine is an acceptor and has no impact on an initiator.
fixPAuthenticationStrategy
- the authentication strategy to use.authenticationTimeoutInMs(long)
public EngineConfiguration indexFileStateFlushTimeoutInMs(long indexFileStateFlushTimeoutInMs)
public EngineConfiguration acceptorfixDictionary(java.lang.Class<? extends uk.co.real_logic.artio.dictionary.FixDictionary> acceptorfixDictionary)
overrideAcceptorFixDictionary(Class)
then this FIX Dictionary will be used as a catch-all for any
connections that don't match the versions in the overrides.
Note, that if this dictionary isn't specified then the default path that is
generated by the CodecGenerationTool will be used.acceptorfixDictionary
- the Fix Dictionary used to parse messages when accepting an inbound connection.overrideAcceptorFixDictionary(Class)
,
AuthenticationProxy.accept(Class)
public EngineConfiguration lookupDefaultAcceptorfixDictionary(boolean lookupDefaultAcceptorfixDictionary)
lookupDefaultAcceptorfixDictionary
- true if you want to lookup a default acceptor fix dictionary (the
default), false otherwise.public EngineConfiguration overrideAcceptorFixDictionary(java.lang.Class<? extends uk.co.real_logic.artio.dictionary.FixDictionary> fixDictionaryClass)
AuthenticationStrategy
and use the AuthenticationProxy.accept(Class)
method in order to specify the dictionary.fixDictionaryClass
- the FIX Dictionary to useacceptorfixDictionary(Class)
,
AuthenticationProxy.accept(Class)
public EngineConfiguration deleteLogFileDirOnStart(boolean deleteLogFileDirOnStart)
logFileDir(String)
on startup. This defaults to
false. When set to true if the log file directory exists when the engine is started up then it will
be deleted. This is usually an undesirable behaviour in a production environment but it can be
very useful when using Artio in automated tests as any previous file system state will not
interfere with your test's repeatability.deleteLogFileDirOnStart
- true to enable or false to disablepublic EngineConfiguration authenticationTimeoutInMs(long authenticationTimeoutInMs)
AuthenticationStrategy.authenticateAsync(AbstractLogonDecoder, AuthenticationProxy)
method to not invoke
its authentication proxy. As a result Artio implements a configurable timeout that will close the session if
the proxy isn't used within the timeout. This configuration option defines the length of that timeout.authenticationTimeoutInMs
- the timeout to be used for the authentication process.authenticationStrategy(AuthenticationStrategy)
public EngineConfiguration messageTimingHandler(MessageTimingHandler messageTimingHandler)
messageTimingHandler
- the message timing handler for this Engine instance.public EngineConfiguration enableMessageThrottle(int throttleWindowInMs, int throttleLimitOfMessages)
Session.throttleMessagesAt(int, int)
.throttleWindowInMs
- the time window to apply the throttle over.throttleLimitOfMessages
- the maximum number of messages that can be received within the time window.java.lang.IllegalArgumentException
- if either parameter is < 1.public static void validateMessageThrottleOptions(int throttleWindowInMs, int throttleLimitOfMessages)
public EngineConfiguration maxConcurrentSessionReplays(int maxConcurrentSessionReplays)
maxConcurrentSessionReplays
- the maximum number of resend requests per session that Artio will enqueue
before rejecting anymore.public EngineConfiguration initialSequenceIndex(int initialSequenceIndex)
initialSequenceIndex
- initial sequence indexpublic EngineConfiguration replayPositionBufferSize(int replayPositionBufferSize)
public EngineConfiguration duplicateEngineTimeoutInMs(long duplicateEngineTimeoutInMs)
duplicateEngineTimeoutInMs
- the timeout for detecting duplicate engines.errorIfDuplicateEngineDetected(boolean)
public EngineConfiguration errorIfDuplicateEngineDetected(boolean errorIfDuplicateEngineDetected)
errorIfDuplicateEngineDetected
- true to enable duplicate engine detection or false to disable it.duplicateEngineTimeoutInMs(long)
public EngineConfiguration cancelOnDisconnectTimeoutHandler(CancelOnDisconnectTimeoutHandler cancelOnDisconnectTimeoutHandler)
cancelOnDisconnectTimeoutHandler
- the handler to be invoked when a cancel on disconnect event occurs.fixPCancelOnDisconnectTimeoutHandler(FixPCancelOnDisconnectTimeoutHandler)
public EngineConfiguration fixPCancelOnDisconnectTimeoutHandler(FixPCancelOnDisconnectTimeoutHandler fixPCancelOnDisconnectTimeoutHandler)
fixPCancelOnDisconnectTimeoutHandler
- the handler to be invoked when a cancel on disconnect event occurs.cancelOnDisconnectTimeoutHandler(CancelOnDisconnectTimeoutHandler)
public EngineConfiguration inboundAdminStream(int inboundAdminStream)
inboundAdminStream
- the stream id from an admin API to a FIX Engine.public EngineConfiguration outboundAdminStream(int outboundAdminStream)
outboundAdminStream
- the stream id from a FIX Engine to an admin API.public EngineConfiguration timeIndexReplayFlushIntervalInNs(long timeIndexReplayFlushIntervalInNs)
FixArchiveScanner
.
Larger intervals reduce time index disk space consumption, smaller intervals improve time based archive scans.timeIndexReplayFlushIntervalInNs
- the interval before a record is written for the time index.public EngineConfiguration sendingTimeWindowInMs(long sendingTimeWindowInMs)
sendingTimeWindowInMs
in class CommonConfiguration
sendingTimeWindowInMs
- the current sending time in millisecondspublic EngineConfiguration defaultHeartbeatIntervalInS(int value)
defaultHeartbeatIntervalInS
in class CommonConfiguration
value
- the default interval for heartbeats if not exchanged upon logon. Specified in seconds.public EngineConfiguration sessionIdStrategy(SessionIdStrategy sessionIdStrategy)
sessionIdStrategy
in class CommonConfiguration
sessionIdStrategy
- the session id strategy.SessionIdStrategy
public EngineConfiguration sessionCustomisationStrategy(SessionCustomisationStrategy sessionCustomisationStrategy)
SessionCustomisationStrategy
for details.
This only needs to be set if this FIX Library is the acceptor library.
sessionCustomisationStrategy
in class CommonConfiguration
sessionCustomisationStrategy
- the session customisation strategy to use.public EngineConfiguration messageValidationStrategy(MessageValidationStrategy messageValidationStrategy)
MessageValidationStrategy
for details.messageValidationStrategy
in class CommonConfiguration
messageValidationStrategy
- the message validation strategy to use.public EngineConfiguration reasonableTransmissionTimeInMs(long reasonableTransmissionTimeInMs)
reasonableTransmissionTimeInMs
in class CommonConfiguration
public EngineConfiguration monitoringBuffersLength(java.lang.Integer monitoringBuffersLength)
monitoringBuffersLength
in class CommonConfiguration
monitoringBuffersLength
- the length of the buffer used for monitoring counters.CommonConfiguration.MONITORING_BUFFERS_LENGTH_PROPERTY
public EngineConfiguration monitoringFile(java.lang.String monitoringFile)
monitoringFile
in class CommonConfiguration
monitoringFile
- the location for the monitoring file.CommonConfiguration.MONITORING_FILE_PROPERTY
@Deprecated public EngineConfiguration printErrorMessages(boolean printErrorMessages)
CommonConfiguration.errorHandlerFactory(ErrorHandlerFactory)
and CommonConfiguration.monitoringAgentFactory(MonitoringAgentFactory)
.
It will be removed in a future version.
Sets the printing of error messages on or off. Error messages are always logged in an error buffer that
can be scanned by another diagnostic process, this simply switches on or off the printing these errors on
standard out.
Default: true
printErrorMessages
in class CommonConfiguration
printErrorMessages
- the printing of error messages.@Deprecated public EngineConfiguration customErrorConsumer(org.agrona.concurrent.errors.ErrorConsumer customErrorConsumer)
CommonConfiguration.errorHandlerFactory(ErrorHandlerFactory)
and CommonConfiguration.monitoringAgentFactory(MonitoringAgentFactory)
.
It will be removed in a future version.customErrorConsumer
in class CommonConfiguration
customErrorConsumer
- a custom error consumer to print values outpublic EngineConfiguration errorHandlerFactory(ErrorHandlerFactory errorHandlerFactory)
DistinctErrorLog
and also printed out. This
method allows the configuration of a custom ErrorHandler
implementation that
can be used to integrate into custom logging configuration. Often used in combination with
the CommonConfiguration.monitoringAgentFactory(MonitoringAgentFactory)
configuration option.
See ErrorHandlerFactory.saveDistinctErrors()
for the default value and an example.errorHandlerFactory
in class CommonConfiguration
errorHandlerFactory
- the factory for creating a custom error handlerpublic EngineConfiguration monitoringAgentFactory(MonitoringAgentFactory monitoringAgentFactory)
DistinctErrorLog
and also prints out any AeronArchive
errors. This method allows the configuration of alternative
error monitoring strategies on the monitoring thread. Often used in combination with
the CommonConfiguration.errorHandlerFactory(ErrorHandlerFactory)
configuration option.
For example if you want to save errors to disk but not print them on standard error then just set
this to MonitoringAgentFactory.none()
. Other factory methods are on this interface.monitoringAgentFactory
in class CommonConfiguration
monitoringAgentFactory
- the factory for setting thepublic EngineConfiguration monitoringThreadIdleStrategy(org.agrona.concurrent.IdleStrategy errorPrinterIdleStrategy)
monitoringThreadIdleStrategy
in class CommonConfiguration
errorPrinterIdleStrategy
- the idle strategy for the Error Printer thread.public EngineConfiguration replyTimeoutInMs(long replyTimeoutInMs)
This is the timeout for control protocol messages between the FIX Gateway and FIX Library instances.
replyTimeoutInMs
in class CommonConfiguration
replyTimeoutInMs
- the reply timeout in milliseconds.public EngineConfiguration inboundMaxClaimAttempts(int inboundMaxClaimAttempts)
inboundMaxClaimAttempts
in class CommonConfiguration
inboundMaxClaimAttempts
- the inbound max claim attemptsCommonConfiguration.INBOUND_MAX_CLAIM_ATTEMPTS_PROPERTY
public EngineConfiguration outboundMaxClaimAttempts(int outboundMaxClaimAttempts)
outboundMaxClaimAttempts
in class CommonConfiguration
outboundMaxClaimAttempts
- the outbound max claim attemptsCommonConfiguration.OUTBOUND_MAX_CLAIM_ATTEMPTS_PROPERTY
public EngineConfiguration sessionBufferSize(int bufferSize)
Session.trySend(uk.co.real_logic.artio.builder.Encoder)
.
This is also used as the size of buffer for messages that are sent by the Session management system itself.sessionBufferSize
in class CommonConfiguration
bufferSize
- the session's encoding buffer sizepublic EngineConfiguration histogramPollPeriodInMs(long histogramPollPeriodInMs)
histogramPollPeriodInMs
in class CommonConfiguration
public EngineConfiguration histogramLoggingFile(java.lang.String histogramLoggingFile)
histogramLoggingFile
in class CommonConfiguration
public EngineConfiguration histogramHandler(HistogramHandler histogramHandler)
histogramHandler
in class CommonConfiguration
public EngineConfiguration agentNamePrefix(java.lang.String agentNamePrefix)
agentNamePrefix
in class CommonConfiguration
agentNamePrefix
- the prefix to be used on agent names.public EngineConfiguration printAeronStreamIdentifiers(boolean printAeronStreamIdentifiers)
StreamInformation
for details.
This can be helpful when debugging issues related to back-pressure and trying to correlate Artio internal
concepts to Aeron Counters. Defaults to false.printAeronStreamIdentifiers
in class CommonConfiguration
printAeronStreamIdentifiers
- true to print, false otherwise.public EngineConfiguration epochNanoClock(org.agrona.concurrent.EpochNanoClock epochNanoClock)
epochNanoClock
in class CommonConfiguration
epochNanoClock
- the clock used for producing requestTimestamp fields on iLink3 messages.public EngineConfiguration inboundLibraryStream(int inboundLibraryStream)
inboundLibraryStream
in class CommonConfiguration
inboundLibraryStream
- the aeron stream idpublic EngineConfiguration outboundLibraryStream(int outboundLibraryStream)
outboundLibraryStream
in class CommonConfiguration
outboundLibraryStream
- the aeron stream idpublic EngineConfiguration threadFactory(java.util.concurrent.ThreadFactory threadFactory)
threadFactory
in class CommonConfiguration
threadFactory
- factory for custom thread creatingpublic EngineConfiguration validateCompIdsOnEveryMessage(boolean validateCompIdsOnEveryMessage)
validateCompIdsOnEveryMessage
in class CommonConfiguration
validateCompIdsOnEveryMessage
- true to validate comp idspublic EngineConfiguration validateTimeStrictly(boolean validateTimeStrictly)
validateTimeStrictly
in class CommonConfiguration
validateTimeStrictly
- true to validate time matches formatpublic EngineConfiguration sessionEpochFractionFormat(uk.co.real_logic.artio.fields.EpochFractionFormat sessionEpochFractionFormat)
sessionEpochFractionFormat
in class CommonConfiguration
sessionEpochFractionFormat
- the format to use.public EngineConfiguration maxFixPKeepaliveTimeoutInMs(long maxFixpKeepaliveTimeoutInMs)
maxFixPKeepaliveTimeoutInMs
in class CommonConfiguration
maxFixpKeepaliveTimeoutInMs
- the maximum keep alive timeout.public EngineConfiguration noEstablishFixPTimeoutInMs(long noEstablishFixPTimeoutInMs)
noLogonDisconnectTimeoutInMs(int)
for FIX.noEstablishFixPTimeoutInMs
in class CommonConfiguration
noEstablishFixPTimeoutInMs
- the time before a FIXP connection is closed if no establish message is sent.public EngineConfiguration fixPAcceptedSessionMaxRetransmissionRange(int fixPAcceptedSessionMaxRetransmissionRange)
fixPAcceptedSessionMaxRetransmissionRange
in class CommonConfiguration
fixPAcceptedSessionMaxRetransmissionRange
- the maximum count allowed in a FIXP retransmit request.public EngineConfiguration backpressureMessagesDuringReplay(boolean backpressureMessagesDuringReplay)
Session.trySend()
methods such as
Session.trySend(Encoder)
backpressure attempts to write FIX messages
whilst a replay is in progress. Defaults to true
.
Artio can disconnect slow consumer FIX sessions in
certain
situations. This is a particularly high risk event if an Artio user attempts to write messages to a FIX
session, whilst simultaneously a replay is going on. Artio's replay mechanism takes account of the backpressure
rates in order to avoid triggering a slow-consumer disconnect whilst a replay is in progress. Setting this
option to true (the default) ensures that a slow-consumer disconnect won't happen during a replay.
An alternative perspective of back-pressure in an Artio system is that if a slow consumer cannot read messages
sent in response to a resend request whilst FIX messages are being written into the queue then it should trigger
a slow consumer disconnect as expected. Setting this configuration option to false results in this behaviour.backpressureMessagesDuringReplay
in class CommonConfiguration
backpressureMessagesDuringReplay
- true if you want to apply back-pressure to libraries during replay.public EngineConfiguration resendRequestController(ResendRequestController resendRequestController)
ResendRequestController
for details of how to implement it.resendRequestController
in class CommonConfiguration
resendRequestController
- the controller to use.public CancelOnDisconnectTimeoutHandler cancelOnDisconnectTimeoutHandler()
cancelOnDisconnectTimeoutHandler(CancelOnDisconnectTimeoutHandler)
for details.public FixPCancelOnDisconnectTimeoutHandler fixPCancelOnDisconnectTimeoutHandler()
public int receiverBufferSize()
public int receiverSocketBufferSize()
receiverSocketBufferSize(int)
for details.public int senderSocketBufferSize()
public boolean hasBindAddress()
public java.net.InetSocketAddress bindAddress()
public boolean bindAtStartup()
public java.lang.String logFileDir()
public int replayIndexFileRecordCapacity()
public int replayIndexSegmentRecordCapacity()
public int loggerCacheSetSize()
public int loggerCacheNumSets()
public boolean logInboundMessages()
public boolean logOutboundMessages()
public boolean printStartupWarnings()
public boolean logAllMessages()
public org.agrona.concurrent.IdleStrategy framerIdleStrategy()
public org.agrona.concurrent.IdleStrategy archiverIdleStrategy()
public int outboundLibraryFragmentLimit()
public int replayFragmentLimit()
public int inboundBytesReceivedLimit()
public MappedFile sentSequenceNumberIndex()
public org.agrona.concurrent.AtomicBuffer sentSequenceNumberBuffer()
public MappedFile receivedSequenceNumberIndex()
public org.agrona.concurrent.AtomicBuffer receivedSequenceNumberBuffer()
public MappedFile sessionIdBuffer()
public MappedFile fixPIdBuffer()
public java.util.Set<java.lang.String> gapfillOnReplayMessageTypes()
public org.agrona.collections.IntHashSet gapfillOnRetransmitILinkTemplateIds()
public int senderMaxBytesInBuffer()
public int noLogonDisconnectTimeoutInMs()
public SessionPersistenceStrategy sessionPersistenceStrategy()
public EngineScheduler scheduler()
public long slowConsumerTimeoutInMs()
public ReplayHandler replayHandler()
public FixPRetransmitHandler fixPRetransmitHandler()
public uk.co.real_logic.artio.messages.InitialAcceptedSessionOwner initialAcceptedSessionOwner()
public AuthenticationStrategy authenticationStrategy()
public FixPAuthenticationStrategy fixPAuthenticationStrategy()
public long indexFileStateFlushTimeoutInMs()
public uk.co.real_logic.artio.dictionary.FixDictionary acceptorfixDictionary()
public java.util.Map<java.lang.String,uk.co.real_logic.artio.dictionary.FixDictionary> acceptorFixDictionaryOverrides()
public boolean deleteLogFileDirOnStart()
public long authenticationTimeoutInMs()
public int initialSequenceIndex()
public int maxConcurrentSessionReplays()
public int replayPositionBufferSize()
public long duplicateEngineTimeoutInMs()
public boolean errorIfDuplicateEngineDetected()
public boolean acceptsFixP()
public uk.co.real_logic.artio.messages.FixPProtocolType supportedFixPProtocolType()
public io.aeron.archive.client.AeronArchive.Context aeronArchiveContext()
public io.aeron.Aeron.Context aeronContextClone()
public io.aeron.archive.client.AeronArchive.Context archiveContextClone()
public int outboundReplayStream()
public int archiveReplayStream()
public boolean acceptedSessionClosedResendInterval()
public int acceptedSessionResendRequestChunkSize()
public boolean acceptedSessionSendRedundantResendRequests()
public boolean acceptedEnableLastMsgSeqNumProcessed()
public MessageTimingHandler messageTimingHandler()
public int inboundAdminStream()
public int outboundAdminStream()
public int throttleWindowInMs()
public int throttleLimitOfMessages()
public long timeIndexReplayFlushIntervalInNs()
public EngineConfiguration conclude()
public java.lang.String libraryAeronChannel()
public TcpChannelSupplier channelSupplier()
public boolean isRelevantStreamId(int streamId)
public void close()
close
in interface java.lang.AutoCloseable
Copyright © 2015-2022 Real Logic Limited. All Rights Reserved.