All Downloads are FREE. Search and download functionalities are using the official Maven repository.

uk.co.real_logic.artio.messages.message-schema.xml Maven / Gradle / Ivy

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<sbe:messageSchema xmlns:sbe="http://fixprotocol.io/2016/sbe"
                   package="uk.co.real_logic.artio.messages"
                   id="666"
                   version="25"
                   semanticVersion="0.2"
                   description="Internal messaging format used by the FIX Gateway"
                   byteOrder="littleEndian">
    <types>
        <composite name="messageHeader" description="Message identifiers and length of message root">
            <type name="blockLength" primitiveType="uint16"/>
            <type name="templateId" primitiveType="uint16"/>
            <type name="schemaId" primitiveType="uint16"/>
            <type name="version" primitiveType="uint16"/>
        </composite>
        <composite name="Utf8String">
            <type name="length" primitiveType="uint16"/>
            <type name="varData" primitiveType="uint8" length="0" characterEncoding="UTF-8"/>
        </composite>
        <composite name="AsciiString">
            <type name="length" primitiveType="uint32" maxValue="2147483647"/>
            <type name="varData" primitiveType="char" length="0"/>
        </composite>
        <composite name="groupSizeEncoding" description="Repeating group dimensions">
            <type name="blockLength" primitiveType="uint16"/>
            <type name="numInGroup" primitiveType="uint8" semanticType="NumInGroup"/>
        </composite>
    </types>
    <types>
        <type name="FixSessionId" primitiveType="int64"/>
        <type name="LibraryId" primitiveType="int32"/>
        <type name="SequenceIndex" primitiveType="int32"/>
        <type name="ConnectionId" primitiveType="int64"/>
        <type name="CorrelationId" primitiveType="int64"/>
        <type name="TermId" primitiveType="int32"/>
        <type deprecated="3" name="DeprecatedMessageType" primitiveType="int32"/>
        <type name="MessageType" primitiveType="int64"/>
        <type name="Timestamp" primitiveType="int64"/>
        <enum name="ConnectionType" encodingType="uint8">
            <validValue name="ACCEPTOR">0</validValue>
            <validValue name="INITIATOR">1</validValue>
        </enum>
        <enum name="AwaitingResend" encodingType="uint8">
            <validValue name="NO">0</validValue>
            <validValue name="YES">1</validValue>
        </enum>
        <enum name="ResetSequenceNumber" encodingType="uint8">
            <validValue name="NO">0</validValue>
            <validValue name="YES">1</validValue>
        </enum>
        <enum name="SlowStatus" encodingType="uint8">
            <validValue name="NOT_SLOW">0</validValue>
            <validValue name="SLOW">1</validValue>
        </enum>
        <enum name="GatewayError" encodingType="uint16">
            <validValue name="EXCEPTION">0</validValue>
            <validValue name="DUPLICATE_SESSION">1</validValue>
            <validValue name="UNABLE_TO_CONNECT">2</validValue>
            <validValue name="UNKNOWN_LIBRARY">3</validValue>
            <validValue name="DUPLICATE_LIBRARY_ID">4</validValue>
            <validValue name="DUPLICATE_ACCEPTOR">5</validValue>
            <validValue name="UNKNOWN_SESSION">6</validValue>
            <validValue name="UNABLE_TO_LOGON">7</validValue>
            <validValue name="INVALID_CONFIGURATION">8</validValue>
        </enum>
        <enum name="MessageStatus" encodingType="uint8">
            <validValue name="OK"
                description="Content is a valid Message, passing Framer validation">0</validValue>
            <validValue name="INVALID_CHECKSUM"
                description="Message has an invalid FIX checksum and hasn't been processed">1</validValue>
            <validValue name="INVALID_BODYLENGTH"
                description="Message has an invalid FIX body length field and hasn't been processed">2</validValue>
            <validValue name="INVALID"
                description="Message is invalid. This might either be a severely malformed FIX or, in the case of an Acceptor, it might be an arbitrary TCP connection with a possibly unrenderable payload.">3</validValue>
            <validValue name="CATCHUP_REPLAY"
                description="This message has been sent from the FixEngine to the FixLibrary as a result of a Catchup Replay (ie in response to a fixLibrary.requestSession() call), rather than being sent directly over TCP.">4</validValue>
            <validValue name="AUTH_REJECT"
                description="This is a Logon message that has been rejected by your authentication strategy in the case of an Acceptor.">5</validValue>
        </enum>
        <enum name="DisconnectReason" encodingType="uint8">
            <validValue name="REMOTE_DISCONNECT"
                        description="The TCP connection was disconnected remotely">0</validValue>
            <validValue name="APPLICATION_DISCONNECT"
                        description="We disconnected due an application level request">1</validValue>
            <validValue name="LIBRARY_DISCONNECT"
                        description="We disconnected due to its library disconnecting">2</validValue>
            <validValue name="ENGINE_SHUTDOWN"
                        description="We disconnected the connection due to the engine shutting down">3</validValue>
            <validValue name="EXCEPTION"
                        description="We disconnected due to the engine receiving an IOException">4</validValue>
            <validValue name="SLOW_CONSUMER"
                        description="We disconnected due to the consumer being too slow at reading the connection">5</validValue>
            <validValue name="NO_LOGON"
                        description="We disconnected due to no logon message being sent after a timeout">6</validValue>
            <validValue name="DUPLICATE_SESSION"
                        description="We disconnected due the session id being the same as one already connected">7</validValue>
            <validValue name="INVALID_BODY_LENGTH"
                        description="We disconnected due a message having an invalid body length field">8</validValue>
            <validValue name="LOGOUT"
                        description="We disconnected due to receiving a logout message">9</validValue>
            <validValue name="FIRST_MESSAGE_NOT_LOGON"
                        description="We disconnected due to the first message that we received not being a logon">10</validValue>
            <validValue name="INCORRECT_BEGIN_STRING"
                        description="We disconnected due begin string field was invalid">11</validValue>
            <validValue name="MSG_SEQ_NO_TOO_LOW"
                        description="We disconnected due to the message sequence number being too low">12</validValue>
            <validValue name="MSG_SEQ_NO_MISSING"
                        description="We disconnected due to the message sequence number field being missing">13</validValue>
            <validValue name="INVALID_SENDING_TIME"
                        description="We disconnected due an invalid sending time field in the fix message">14</validValue>
            <validValue name="NEGATIVE_HEARTBEAT_INTERVAL"
                        description="We disconnected due to a negative heartbeat interval field">15</validValue>
            <validValue name="FAILED_AUTHENTICATION"
                        description="We disconnected due to the authentication strategy returning false">16</validValue>
            <validValue name="INVALID_FIX_MESSAGE"
                        description="We disconnected due to codec validation failing">17</validValue>
            <validValue name="INVALID_CONFIGURATION_NOT_LOGGING_MESSAGES"
                        description="Persistence Strategy specified INDEXED but EngineConfiguration has disabled required logging of messages">18</validValue>
            <validValue name="AUTHENTICATION_TIMEOUT"
                        description="We disconnected due to the authentication strategy not responding within the timeout">19</validValue>
            <validValue name="INVALID_FIXP_MESSAGE"
                        description="We disconnected due to an error in framing FIXP messages" sinceVersion="14">20</validValue>
            <validValue name="ADMIN_API_DISCONNECT"
                        description="Disconnected due to an explicit administrative API operation from a user" sinceVersion="15">21</validValue>
            <validValue name="MISSING_LOGON_COMP_ID"
                        description="Disconnected due to a sender or target comp id field missing from the Logon message" sinceVersion="15">22</validValue>
            <validValue name="CALLBACK_EXCEPTION"
                        description="Disconnected due to an exception being thrown by a callback from application code. Exception will be passed to the application's ErrorHandler unless it is in response to an initiate() call in which case it will be given to the reply." sinceVersion="19">23</validValue>
            <validValue name="REPLAY_BACK_PRESSURE_DISCONNECT"
                        description="We disconnected because an inbound message timeout whilst a replay was going on">24</validValue>
            <validValue name="FIX_HEARTBEAT_TIMEOUT"
                        description="Regular Fix heartbeat timeout">25</validValue>
        </enum>
        <enum name="SessionState" encodingType="uint8">
            <validValue name="CONNECTING"
                        description="The session is connecting or reconnecting.">0</validValue>
            <validValue name="CONNECTED"
                        description="A machine has connected to the gateway, but hasn't logged in yet. Initial state of a session.">1</validValue>
            <validValue name="SENT_LOGON"
                        description="Initiator only state - sent logon message but it hasn't received the reply yet.">2</validValue>
            <validValue name="ACTIVE"
                        description="Session is fully authenticated and ready to execute.">3</validValue>
            <validValue name="LOGGING_OUT"
                        description="Session is trying to send logout, will retry sending until not backpressured">5</validValue>
            <validValue name="LOGGING_OUT_AND_DISCONNECTING"
                        description="Session is trying to send logout and the disconnect, will retry sending until not backpressured">6</validValue>
            <validValue name="AWAITING_LOGOUT"
                        description="Linger between logout request and a logout acknowledgement. You can do resend processing at this point, but no other messages.">7</validValue>
            <validValue name="DISCONNECTING"
                        description="Session is trying to disconnect, will retry disconnecting until not backpressured">8</validValue>
            <validValue name="DISCONNECTED"
                        description="Session has been disconnected.">9</validValue>
            <validValue name="DISABLED"
                        description="DISCONNECTED and unable to reconnect.">10</validValue>
            <validValue name="AWAITING_ASYNC_PROXY_LOGOUT"
                        description="Logout has been sent on an async SessionProxy, the session is waiting for it to be written via a SessionWriter."
                        sinceVersion="21">11</validValue>
        </enum>
        <enum name="SequenceNumberType" encodingType="uint8">
            <validValue name="TRANSIENT">0</validValue>
            <validValue name="PERSISTENT">1</validValue>
            <validValue name="DETERMINE_AT_LOGON">2</validValue>
        </enum>

        <enum name="AcknowledgementStatus" encodingType="uint8">
            <validValue name="OK">0</validValue>
            <validValue name="WRONG_TERM">1</validValue>
            <validValue name="MISSING_LOG_ENTRIES">2</validValue>
        </enum>

        <enum name="Bool" encodingType="uint8">
            <validValue name="TRUE">0</validValue>
            <validValue name="FALSE">1</validValue>
        </enum>

        <enum name="SessionReplyStatus" encodingType="uint8">
            <validValue name="OK"
                        description="Operation Succeeded">0</validValue>
            <validValue name="UNKNOWN_SESSION"
                        description="The gateway doesn't know about the specified connection id">1</validValue>
            <validValue name="UNKNOWN_LIBRARY"
                        description="The gateway doesn't know about your library">2</validValue>
            <validValue name="OTHER_SESSION_OWNER"
                        description="Another library owns that session">3</validValue>
            <validValue name="SESSION_NOT_LOGGED_IN"
                        description="The session hasn't logged in yet so you can't replay anything">4</validValue>
            <validValue name="SEQUENCE_NUMBER_TOO_HIGH"
                        description="Can't replay to that sequence number: haven't archived it yet">5</validValue>
            <validValue name="MISSING_MESSAGES"
                        description="We can't find the required number of messages in the log">6</validValue>
            <validValue name="INVALID_CONFIGURATION_NOT_LOGGING_MESSAGES"
                        description="You've requested replay of messages, but EngineConfiguration has disabled required logging of messsages">7</validValue>
        </enum>

        <enum name="SessionStatus" encodingType="uint8">
            <validValue name="SESSION_HANDOVER">0</validValue>
            <validValue name="LIBRARY_NOTIFICATION">1</validValue>
        </enum>

        <enum name="MetaDataStatus" encodingType="uint8" sinceVersion="5">
            <validValue name="OK">0</validValue>
            <validValue name="UNKNOWN_SESSION">1</validValue>
            <validValue name="FILE_ERROR">2</validValue>
            <validValue name="NO_META_DATA">4</validValue>
            <validValue name="INVALID_OFFSET" sinceVersion="7">5</validValue>
        </enum>

        <enum name="ReplayMessagesStatus" encodingType="uint8">
            <validValue name="OK"
                        description="Operation Succeeded">0</validValue>
            <validValue name="SESSION_NOT_OWNED"
                        description="Either your library doesn't own this session or the gateway doesn't know about the specified session">1</validValue>
            <validValue name="UNKNOWN_LIBRARY"
                        description="The gateway doesn't know about your library">2</validValue>
            <validValue name="SEQUENCE_NUMBER_TOO_HIGH"
                        description="Can't replay to that sequence number: haven't archived it yet">4</validValue>
            <validValue name="MISSING_MESSAGES"
                        description="We can't find the required number of messages in the log">5</validValue>
            <validValue name="INVALID_CONFIGURATION_NOT_LOGGING_MESSAGES"
                        description="You've requested replay of messages, but EngineConfiguration has disabled required logging of messsages">6</validValue>
        </enum>

        <enum name="InitialAcceptedSessionOwner" encodingType="uint8" sinceVersion="10">
            <validValue name="ENGINE">0</validValue>
            <validValue name="SOLE_LIBRARY">1</validValue>
        </enum>

        <enum name="FixPProtocolType" encodingType="uint16" sinceVersion="16">
            <validValue name="ILINK_3">1</validValue>
            <validValue name="BINARY_ENTRYPOINT">2</validValue>
        </enum>

        <enum name="CancelOnDisconnectOption" encodingType="uint16" sinceVersion="16">
            <validValue name="DO_NOT_CANCEL_ON_DISCONNECT_OR_LOGOUT">0</validValue>
            <validValue name="CANCEL_ON_DISCONNECT_ONLY">1</validValue>
            <validValue name="CANCEL_ON_LOGOUT_ONLY">2</validValue>
            <validValue name="CANCEL_ON_DISCONNECT_OR_LOGOUT">3</validValue>
        </enum>

        <enum name="ThrottleConfigurationStatus" encodingType="uint8">
            <validValue name="OK"
                        description="Operation Succeeded">0</validValue>
            <validValue name="SESSION_NOT_OWNED"
                        description="Either your library doesn't own this session or the gateway doesn't know about the specified session">1</validValue>
            <validValue name="UNKNOWN_LIBRARY"
                        description="The gateway doesn't know about your library">2</validValue>
            <validValue name="SESSION_NOT_LOGGED_IN"
                        description="The session isn't currently logged in.">3</validValue>
            <validValue name="INVALID_DICTIONARY"
                        description="The session is configured to use a Fix Dictionary that doesn't support the business reject message.">4</validValue>
        </enum>
    </types>

    <!-- Messages From Library To Engine -->
    <sbe:message name="InitiateConnection" id="11" description="Try to make an outbound connection">
        <field name="libraryId" id="1" type="LibraryId"/>
        <field name="requestedInitialReceivedSequenceNumber" id="2" type="int32"/>
        <field name="sequenceNumberType" id="3" type="SequenceNumberType"/>
        <field name="port" id="4" type="int32"/>
        <field name="heartbeatIntervalInS" id="5" type="int32"/>
        <field name="resetSequenceNumber" id="6" type="ResetSequenceNumber"/>
        <field name="correlationId" id="7" type="CorrelationId"/>
        <field name="requestedInitialSentSequenceNumber" id="17" type="int32"/>
        <field name="closedResendInterval" id="18" type="Bool" />
        <field name="resendRequestChunkSize" id="19" type="int32" />
        <field name="sendRedundantResendRequests" id="20" type="Bool" />
        <field name="enableLastMsgSeqNumProcessed" id="21" type="Bool" />
        <data name="host" id="8" type="Utf8String"/>
        <data name="senderCompId" id="9" type="Utf8String"/>
        <data name="senderSubId" id="10" type="Utf8String"/>
        <data name="senderLocationId" id="11" type="Utf8String"/>
        <data name="targetCompId" id="12" type="Utf8String"/>
        <data name="targetSubId" id="13" type="Utf8String"/>
        <data name="targetLocationId" id="14" type="Utf8String"/>
        <data name="username" id="15" type="Utf8String"/>
        <data name="password" id="16" type="Utf8String"/>
        <data name="fixDictionary" id="22" type="Utf8String"/>
    </sbe:message>

    <sbe:message name="RequestDisconnect" id="12" description="Request a connection be disconnected">
        <field name="libraryId" id="1" type="LibraryId"/>
        <field name="correlationId" id="2" type="CorrelationId"/>
        <field name="connection" id="3" type="ConnectionId"/>
        <field name="reason" id="4" type="DisconnectReason"/>
    </sbe:message>

    <sbe:message name="LibraryConnect" id="17"
                 description="Notify an engine that a new library has connected">
        <field name="libraryId" id="1" type="LibraryId"/>
        <field name="correlationId" id="2" type="CorrelationId"/>
        <data name="libraryName" id="3" type="Utf8String"/>
    </sbe:message>

    <sbe:message name="ReleaseSession" id="29"
                 description="releases a session from the library's control to the gateway">
        <field name="libraryId" id="1" type="LibraryId"/>
        <field name="sessionId" id="2" type="FixSessionId"/>
        <field name="connection" id="3" type="ConnectionId"/>
        <field name="correlationId" id="4" type="CorrelationId"/>
        <field name="heartbeatIntervalInMs" id="5" type="int64"/>
        <field name="state" id="6" type="SessionState"/>
        <field name="lastSentSequenceNumber" id="7" type="int32"/>
        <field name="lastReceivedSequenceNumber" id="8" type="int32"/>
        <field name="awaitingResend" id="11" type="AwaitingResend" />
        <data name="username" id="9" type="Utf8String"/>
        <data name="password" id="10" type="Utf8String"/>
    </sbe:message>

    <sbe:message name="RequestSession" id="31"
                 description="requests control of a session for this library">
        <field name="libraryId" id="1" type="LibraryId"/>
        <field name="correlationId" id="2" type="CorrelationId"/>
        <field name="sessionId" id="3" type="FixSessionId"/>
        <field name="lastReceivedSequenceNumber" id="4" type="int32"/>
        <field name="sequenceIndex" id="5" type="SequenceIndex" />
    </sbe:message>

    <sbe:message name="MidConnectionDisconnect" id="46"
                 description="disconnect, even though you haven't finished connecting">
        <field name="libraryId" id="1" type="LibraryId"/>
        <field name="correlationId" id="2" type="CorrelationId"/>
    </sbe:message>

    <sbe:message name="FollowerSessionRequest" id="47"
                 description="">
        <field name="libraryId" id="1" type="LibraryId"/>
        <field name="correlationId" id="2" type="CorrelationId"/>
        <field name="protocolType" id="4" type="FixPProtocolType" sinceVersion="20"/>
        <data name="header" id="3" type="AsciiString"/>
    </sbe:message>

    <sbe:message name="WriteMetaData" id="37" description="" sinceVersion="5">
        <field name="libraryId" id="1" type="LibraryId"/>
        <field name="session" id="2" type="FixSessionId"/>
        <field name="correlationId" id="3" type="CorrelationId"/>
        <field name="metaDataOffset" id="5" type="int32"/>
        <data name="metaData" id="4" type="Utf8String"/>
    </sbe:message>

    <sbe:message name="ReadMetaData" id="51" description="" sinceVersion="5">
        <field name="libraryId" id="1" type="LibraryId"/>
        <field name="session" id="2" type="FixSessionId"/>
        <field name="correlationId" id="3" type="CorrelationId"/>
    </sbe:message>

    <sbe:message name="ReplayMessages" id="53"
                 description="" sinceVersion="7">
        <field name="libraryId" id="1" type="LibraryId"/>
        <field name="session" id="2" type="FixSessionId"/>
        <field name="correlationId" id="3" type="CorrelationId"/>
        <field name="replayFromSequenceNumber" id="4" type="int32"/>
        <field name="replayFromSequenceIndex" id="5" type="SequenceIndex"/>
        <field name="replayToSequenceNumber" id="6" type="int32"/>
        <field name="replayToSequenceIndex" id="7" type="SequenceIndex"/>
        <field name="latestReplyArrivalTimeInMs" id="8" type="Timestamp" />
    </sbe:message>

    <sbe:message name="InitiateILinkConnection" id="56" description="Outbound ilink3 connection" sinceVersion="8">
        <field name="libraryId" id="1" type="LibraryId"/>
        <field name="port" id="2" type="int32"/>
        <field name="correlationId" id="3" type="CorrelationId"/>
        <field name="reestablishConnection" id="4" type="Bool"/>
        <field name="useBackupHost" id="8" type="Bool"/>
        <data name="host" id="5" type="Utf8String"/>
        <data name="accessKeyId" id="6" type="Utf8String"/>
        <data name="backupHost" id="7" type="Utf8String"/>
    </sbe:message>

    <sbe:message name="ThrottleReject" id="71" description="Send a business reject in response to a throttle"
                 sinceVersion="16">
        <field name="libraryId" id="1" type="LibraryId"/>
        <field name="connection" id="2" type="ConnectionId"/>
        <field name="refMsgType" id="3" type="MessageType"/>
        <field name="refSeqNum" id="4" type="int32"/>
        <field name="sequenceNumber" id="5" type="int32"/>
        <field name="session" id="6" type="FixSessionId"/>
        <field name="sequenceIndex" id="7" type="SequenceIndex" />
        <data name="businessRejectRefID" id="8" type="AsciiString"/>
    </sbe:message>

    <sbe:message name="ThrottleConfiguration" id="72"
         description="Override the configuration of a specific sessions throttle rate"
         sinceVersion="16">
        <field name="libraryId" id="1" type="LibraryId"/>
        <field name="correlationId" id="2" type="CorrelationId"/>
        <field name="session" id="3" type="FixSessionId"/>
        <field name="throttleWindowInMs" id="4" type="int32" />
        <field name="throttleLimitOfMessages" id="5" type="int32" />
    </sbe:message>

    <sbe:message name="SeqIndexSync" id="74"
         description="Notify the engine of an update to the sequence index that only gets written on the outbound stream"
         sinceVersion="18">
        <field name="libraryId" id="1" type="LibraryId"/>
        <field name="sessionId" id="2" type="FixSessionId"/>
        <field name="sequenceIndex" id="3" type="SequenceIndex" />
    </sbe:message>

    <!-- Messages From Engine To Library -->
    <sbe:message name="Disconnect" id="7" description="A connection has disconnected">
        <field name="libraryId" id="1" type="LibraryId"/>
        <field name="connection" id="2" type="ConnectionId"/>
        <field name="reason" id="3" type="DisconnectReason"/>
    </sbe:message>

    <sbe:message name="Connect" id="33" description="We have accepted an inbound TCP Connection">
        <field name="connection" id="1" type="ConnectionId"/>
        <field name="timestamp" id="3" type="Timestamp"  sinceVersion="25"/>
        <data name="address" id="2" type="Utf8String"/>
    </sbe:message>

    <sbe:message name="ResetSessionIds" id="36" description="All session ids have been reset">
    </sbe:message>

    <sbe:message name="ManageSession" id="8" description="Any event to manage a session from gateway to library">
        <field name="libraryId" id="1" type="LibraryId"/>
        <field name="connection" id="2" type="ConnectionId"/>
        <field name="session" id="3" type="FixSessionId"/>
        <field name="lastSentSequenceNumber" id="4" type="int32"/>
        <field name="lastReceivedSequenceNumber" id="5" type="int32"/>
        <field name="sessionStatus" id="7" type="SessionStatus"/>
        <field name="slowStatus" id="8" type="SlowStatus"/>
        <field name="connectionType" id="9" type="ConnectionType"/>
        <field name="sessionState" id="10" type="SessionState"/>
        <field name="heartbeatIntervalInS" id="11" type="int32"/>
        <field name="replyToId" id="12" type="CorrelationId"/>
        <field name="sequenceIndex" id="13" type="SequenceIndex" />
        <field name="closedResendInterval" id="22" type="Bool" />
        <field name="resendRequestChunkSize" id="23" type="int32" />
        <field name="sendRedundantResendRequests" id="24" type="Bool" />
        <field name="enableLastMsgSeqNumProcessed" id="25" type="Bool" />
        <field name="logonReceivedSequenceNumber" id="33" type="int32" sinceVersion="4"/>
        <field name="logonSequenceIndex" id="34" type="SequenceIndex" sinceVersion="4"/>
        <field name="metaDataStatus" id="35" type="MetaDataStatus" sinceVersion="5"/>
        <field name="cancelOnDisconnectOption" id="38" type="CancelOnDisconnectOption" sinceVersion="16"/>
        <field name="cancelOnDisconnectTimeoutInNs" id="39" type="int64" sinceVersion="16"/>

        <!-- State modified by the Session itself -->
        <field name="awaitingResend" id="21" type="AwaitingResend" />
        <field name="lastResentMsgSeqNo" id="28" type="int32" presence="optional" sinceVersion="1" />
        <field name="lastResendChunkMsgSeqNum" id="29" type="int32" presence="optional" sinceVersion="1" />
        <field name="endOfResendRequestRange" id="30" type="int32" presence="optional" sinceVersion="1" />
        <field name="awaitingHeartbeat" id="31" type="Bool" presence="optional" sinceVersion="1" />
        <field name="lastLogonTime" id="6" type="Timestamp" />
        <field name="lastSequenceResetTime" id="37" type="Timestamp" presence="optional" sinceVersion="7"/>

        <data name="localCompId" id="14" type="Utf8String"/>
        <data name="localSubId" id="15" type="Utf8String"/>
        <data name="localLocationId" id="16" type="Utf8String"/>
        <data name="remoteCompId" id="17" type="Utf8String"/>
        <data name="remoteSubId" id="18" type="Utf8String"/>
        <data name="remoteLocationId" id="19" type="Utf8String"/>
        <data name="address" id="20" type="Utf8String"/>
        <data name="username" id="26" type="Utf8String"/>
        <data name="password" id="27" type="Utf8String"/>
        <data name="fixDictionary" id="32" type="Utf8String"/>
        <data name="metaData" id="36" type="Utf8String"/>
    </sbe:message>

    <sbe:message name="Error" id="13" description="An error has occurred">
        <field name="errorType" id="1" type="GatewayError"/>
        <field name="libraryId" id="2" type="LibraryId"/>
        <field name="replyToId" id="3" type="CorrelationId"/>
        <data name="message" id="4" type="Utf8String"/>
    </sbe:message>

    <sbe:message name="RequestSessionReply" id="32"
                 description="response to ReleaseSession">
        <field name="libraryId" id="1" type="LibraryId"/>
        <field name="replyToId" id="2" type="CorrelationId"/>
        <field name="status" id="3" type="SessionReplyStatus"/>
    </sbe:message>

    <sbe:message name="ReleaseSessionReply" id="30"
                 description="response to ReleaseSession">
        <field name="libraryId" id="1" type="LibraryId"/>
        <field name="replyToId" id="2" type="CorrelationId"/>
        <field name="status" id="3" type="SessionReplyStatus"/>
    </sbe:message>

    <sbe:message name="EngineDescriptor" id="38" description="">
        <data name="libraryChannel" id="1" type="Utf8String"/>
    </sbe:message>

    <sbe:message name="ControlNotification" id="39"
                 description="notifies library instances of messages that have been acquired">
        <field name="libraryId" id="1" type="LibraryId"/>
        <field name="initialAcceptedSessionOwner" id="3" type="InitialAcceptedSessionOwner"/>

        <group name="sessions" id="2" dimensionType="groupSizeEncoding">
            <field name="sessionId" id="10" type="FixSessionId"/>
        </group>
        <group name="disconnectedSessions" id="4" dimensionType="groupSizeEncoding">
            <field name="sessionId" id="10" type="FixSessionId"/>
        </group>
    </sbe:message>

    <sbe:message name="LibraryTimeout" id="40"
                 description="notifies library instances that they have been timed out, added for monitoring purposes">
        <field name="libraryId" id="1" type="LibraryId"/>
        <field name="connectCorrelationId" id="2" type="CorrelationId"/>
    </sbe:message>

    <sbe:message name="FollowerSessionReply" id="48"
                 description="">
        <field name="libraryId" id="1" type="LibraryId"/>
        <field name="replyToId" id="2" type="CorrelationId"/>
        <field name="session" id="3" type="FixSessionId"/>
    </sbe:message>

    <sbe:message name="EndOfDay" id="49" description="A connection has disconnected" sinceVersion="2">
        <field name="libraryId" id="1" type="LibraryId"/>
    </sbe:message>

    <sbe:message name="WriteMetaDataReply" id="50" description="" sinceVersion="5">
        <field name="libraryId" id="1" type="LibraryId"/>
        <field name="replyToId" id="2" type="CorrelationId"/>
        <field name="status" id="3" type="MetaDataStatus"/>
    </sbe:message>

    <sbe:message name="ReadMetaDataReply" id="52" description="" sinceVersion="5">
        <field name="libraryId" id="1" type="LibraryId"/>
        <field name="replyToId" id="2" type="CorrelationId"/>
        <field name="status" id="3" type="MetaDataStatus"/>
        <data name="metaData" id="4" type="Utf8String"/>
    </sbe:message>

    <sbe:message name="ReplayMessagesReply" id="54" description="response to ReplayMessages" sinceVersion="7">
        <field name="libraryId" id="1" type="LibraryId"/>
        <field name="replyToId" id="2" type="CorrelationId"/>
        <field name="status" id="3" type="ReplayMessagesStatus"/>
    </sbe:message>

    <sbe:message name="ILinkConnect" id="57" description="Outbound ILink TCP Connection established"
                 sinceVersion="8">
        <field name="libraryId" id="1" type="LibraryId"/>
        <field name="correlationId" id="2" type="CorrelationId"/>
        <field name="connection" id="3" type="ConnectionId"/>
        <field name="uuid" id="4" type="uint64"/>
        <field name="lastReceivedSequenceNumber" id="5" type="int64"/>
        <field name="lastSentSequenceNumber" id="6" type="int64"/>
        <field name="newlyAllocated" id="7" type="Bool"/>
        <field name="lastUuid" id="8" type="uint64"/>
    </sbe:message>

    <sbe:message name="LibraryExtendPosition" id="60" description="" sinceVersion="9">
        <field name="libraryId" id="1" type="LibraryId"/>
        <field name="correlationId" id="2" type="CorrelationId"/>
        <field name="sessionId" id="3" type="int32"/>
        <field name="stopPosition" id="4" type="int64"/>
        <field name="initialTermId" id="5" type="int32"/>
        <field name="termBufferLength" id="6" type="int32"/>
        <field name="mtuLength" id="7" type="int32"/>
    </sbe:message>

    <sbe:message name="InboundFixPConnect" id="67" description="Inbound FIXP TCP Connection received"
                 sinceVersion="16">
        <field name="connection" id="1" type="ConnectionId"/>
        <field name="sessionId" id="2" type="uint64"/>
        <field name="protocolType" id="3" type="FixPProtocolType"/>
        <field name="messageLength" id="7" type="uint16"/>
        <!-- then the first message sent -->
    </sbe:message>

    <sbe:message name="ManageFixPConnection" id="68" description="" sinceVersion="16">
        <field name="libraryId" id="1" type="LibraryId"/>
        <field name="correlationId" id="2" type="CorrelationId"/>
        <field name="connection" id="3" type="ConnectionId"/>
        <field name="sessionId" id="4" type="uint64"/>
        <field name="protocolType" id="5" type="FixPProtocolType"/>
        <field name="lastReceivedSequenceNumber" id="6" type="uint64"/>
        <field name="lastSentSequenceNumber" id="7" type="uint64"/>
        <!-- Additional payload that corresponds to previous logon information, ie:-->
        <!-- BinaryEntrypoint: sessionVerId -->
        <field name="lastConnectPayload" id="8" type="uint64"/>
        <field name="messageLength" id="9" type="uint16"/>
        <field name="offline" id="10" type="Bool"/>
        <!-- then the first message sent -->
    </sbe:message>

    <sbe:message name="CancelOnDisconnectTrigger" id="69" description="" sinceVersion="16">
        <field name="sessionId" id="1" type="uint64"/>
        <field name="timeInNs" id="2" type="int64"/>
    </sbe:message>

    <sbe:message name="ThrottleNotification" id="70" description="Notify the session that a message has been throttled"
                 sinceVersion="16">
        <field name="libraryId" id="1" type="LibraryId"/>
        <field name="connection" id="2" type="ConnectionId"/>
        <field name="refMsgType" id="3" type="MessageType"/>
        <field name="refSeqNum" id="4" type="int32"/>
        <field name="session" id="5" type="FixSessionId"/>
        <field name="sequenceIndex" id="6" type="SequenceIndex" />
        <data name="businessRejectRefID" id="7" type="AsciiString"/>
    </sbe:message>

    <sbe:message name="ThrottleConfigurationReply" id="73"
                 description="Acknowledge the configuration of a specific sessions throttle rate"
                 sinceVersion="16">
        <field name="libraryId" id="1" type="LibraryId"/>
        <field name="replyToId" id="2" type="CorrelationId"/>
        <field name="status" id="3" type="ThrottleConfigurationStatus"/>
    </sbe:message>

    <!-- Messages In Either Direction -->
    <sbe:message name="FixMessage" id="1" description="A framed FIX message">
        <field deprecated="3" name="deprecatedMessageType" id="1" type="DeprecatedMessageType"/>
        <field name="session" id="2" type="FixSessionId"/>
        <field name="connection" id="3" type="ConnectionId"/>
        <field name="timestamp" id="4" type="Timestamp"/>
        <field name="status" id="5" type="MessageStatus"/>
        <field name="libraryId" id="6" type="LibraryId"/>
        <field name="bytesSent" id="7" type="int32" />
        <field name="sequenceIndex" id="8" type="SequenceIndex" />
        <field name="metaDataUpdateOffset" id="13" type="int32" />
        <!-- only visible outbound -->
        <!-- This is set to 0 for resent messages, except for the last message in a replay where it's the seqnum -->
        <field name="sequenceNumber" id="9" type="int32" />
        <field name="messageType" id="11" type="MessageType" presence="optional" sinceVersion="3"/>
        <data name="metaData" id="12" type="Utf8String"  sinceVersion="6"/>
        <data name="body" id="10" type="AsciiString"/>
    </sbe:message>

    <sbe:message name="ApplicationHeartbeat" id="16"
                 description="A heartbeat message sent within the application protocol">
        <field name="libraryId" id="1" type="LibraryId"/>
        <field name="connectCorrelationId" id="2" type="CorrelationId"/>
        <field name="timestampInNs" id="3" type="Timestamp" sinceVersion="22"/>
    </sbe:message>

    <sbe:message name="ResetSequenceNumber" id="42"
                 description="Tells the sequence index to reset the sequence number of a logged out session">
        <field name="session" id="2" type="FixSessionId"/>
    </sbe:message>

    <sbe:message name="SlowStatusNotification" id="43"
                 description="Notification of sessions become slow or not">
        <field name="libraryId" id="1" type="LibraryId"/>
        <field name="connectionId" id="2" type="ConnectionId"/>
        <field name="status" id="3" type="SlowStatus"/>
    </sbe:message>

    <sbe:message name="ResetLibrarySequenceNumber" id="44"
                 description="Tells the library to reset the sequence number of a session that it owns">
        <field name="libraryId" id="1" type="LibraryId"/>
        <field name="session" id="2" type="FixSessionId"/>
    </sbe:message>

    <sbe:message name="ReplayComplete" id="45"
                 description="Replayer tells SenderEndPoint that the current replay is complete">
        <field name="connection" id="1" type="ConnectionId"/>
        <field name="libraryId" id="2" type="LibraryId" sinceVersion="9"
           description="Set when going from Framer to Library, but not from Replayer to Framer"/>
        <field name="correlationId" id="3" type="CorrelationId" sinceVersion="23" />
    </sbe:message>

    <sbe:message name="FixPMessage" id="58" description="FIXP Message Header"
                 sinceVersion="8">
        <field name="connection" id="1" type="ConnectionId"/>
        <field name="enqueueTime" id="2" type="Timestamp" sinceVersion="12"/>
        <field name="sessionId" id="3" type="FixSessionId"/>
    </sbe:message>

    <!-- Messages From either Library or Engine outbound -->
    <sbe:message name="RedactSequenceUpdate" id="55"
                 description="" sinceVersion="7">
        <field name="session" id="1" type="FixSessionId"/>
        <field name="correctSequenceNumber" id="2" type="int32"/>
        <field name="position" id="3" type="int64"/>
    </sbe:message>

    <sbe:message name="ValidResendRequest" id="59" description="Notifies the replayer to resend messages"
        sinceVersion="9">
        <field name="session" id="1" type="FixSessionId"/>
        <field name="connection" id="2" type="ConnectionId"/>
        <field name="beginSequenceNumber" id="3" type="uint32"/>
        <field name="endSequenceNumber" id="4" type="uint32"/>
        <field name="SequenceIndex" id="5" type="int32"/>
        <field name="correlationId" id="7" type="CorrelationId" sinceVersion="23"/>
        <data name="body" id="6" type="AsciiString"/>
    </sbe:message>

    <!-- Replay Stream Only messages -->
    <sbe:message name="ReplayerTimestamp" id="61" description="" sinceVersion="13">
        <field name="timestamp" id="0" type="Timestamp"/>
    </sbe:message>

    <sbe:message name="StartReplay" id="75" description="" sinceVersion="23">
        <field name="session" id="1" type="FixSessionId"/>
        <field name="connection" id="2" type="ConnectionId"/>
        <field name="correlationId" id="3" type="CorrelationId"/>
    </sbe:message>

    <!-- Admin Stream Only messages -->
    <sbe:message name="AllFixSessionsRequest" id="62" description="" sinceVersion="15">
        <field name="correlationId" id="0" type="CorrelationId"/>
    </sbe:message>

    <sbe:message name="AllFixSessionsReply" id="63" description="" sinceVersion="15">
        <field name="correlationId" id="0" type="CorrelationId"/>
        <group name="sessions" id="7" dimensionType="groupSizeEncoding">
            <field name="sessionId" id="1" type="FixSessionId"/>
            <field name="connectionId" id="2" type="ConnectionId"/>
            <field name="lastReceivedSequenceNumber" id="3" type="int32"/>
            <field name="lastSentSequenceNumber" id="4" type="int32"/>
            <field name="lastLogonTime" id="5" type="Timestamp" />
            <field name="sequenceIndex" id="6" type="SequenceIndex" />
            <field name="slowStatus" id="15" type="SlowStatus"/>

            <data name="address" id="8" type="Utf8String"/>
            <data name="localCompId" id="9" type="Utf8String"/>
            <data name="localSubId" id="10" type="Utf8String"/>
            <data name="localLocationId" id="11" type="Utf8String"/>
            <data name="remoteCompId" id="12" type="Utf8String"/>
            <data name="remoteSubId" id="13" type="Utf8String"/>
            <data name="remoteLocationId" id="14" type="Utf8String"/>
        </group>
    </sbe:message>

    <sbe:message name="DisconnectSessionRequest" id="64" description="" sinceVersion="15">
        <field name="correlationId" id="0" type="CorrelationId"/>
        <field name="sessionId" id="1" type="FixSessionId"/>
    </sbe:message>

    <sbe:message name="GenericAdminReply" id="65" description="" sinceVersion="15">
        <field name="correlationId" id="0" type="CorrelationId"/>
        <field name="errorType" id="1" type="GatewayError"/>
        <data name="message" id="2" type="Utf8String"/>
    </sbe:message>

    <sbe:message name="AdminResetSequenceNumbersRequest" id="66" description="" sinceVersion="15">
        <field name="correlationId" id="0" type="CorrelationId"/>
        <field name="sessionId" id="1" type="FixSessionId"/>
    </sbe:message>

</sbe:messageSchema>




© 2015 - 2024 Weber Informatics LLC | Privacy Policy