Interface BinaryEntryPointConnection

All Superinterfaces:
uk.co.real_logic.artio.fixp.FixPConnection

public interface BinaryEntryPointConnection extends uk.co.real_logic.artio.fixp.FixPConnection
Represents a Session Connection of the Binary Entrypoint protocol. This is a FIXP session protocol with SBE encoded binary messages. It is very similar to CME's iLink3 protocol.
  • Nested Class Summary

    Nested classes/interfaces inherited from interface uk.co.real_logic.artio.fixp.FixPConnection

    uk.co.real_logic.artio.fixp.FixPConnection.State
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final long
    Can be used to create an offline context for a session where you don't know the session version id of the next logon.

    Fields inherited from interface uk.co.real_logic.artio.fixp.FixPConnection

    NOT_AWAITING_RETRANSMIT
  • Method Summary

    Modifier and Type
    Method
    Description
    b3.entrypoint.fixp.sbe.CancelOnDisconnectType
    Gets the cancel on disconnect configuration for this session.
    long
    Gets the cancel on disconnect timeout window in milliseconds.
    void
    Initiate the finish sending process within BinaryEntryPoint.
    boolean
    Gets whether a replay is currently happening or not.
    key()
    long
    Gets the session id.
    long
    Gets the session version id.
    void
    terminate(b3.entrypoint.fixp.sbe.TerminationCode terminationCode)
    Terminate the connection.
    uk.co.real_logic.artio.Reply<uk.co.real_logic.artio.messages.ThrottleConfigurationStatus>
    throttleMessagesAt(int throttleWindowInMs, int throttleLimitOfMessages)
    Override Artio's message throttle configuration for a given session.
    long
    trySendNotApplied(long fromSeqNo, long count)
    Send a notApplied message to the client.

    Methods inherited from interface uk.co.real_logic.artio.fixp.FixPConnection

    abort, canSendMessage, commit, connectionId, counterpartyKeepAliveIntervalInMs, isConnected, nextRecvSeqNo, nextRecvSeqNo, nextSentSeqNo, nextSentSeqNo, ourKeepAliveIntervalInMs, requestDisconnect, state, tryClaim, tryClaim, trySendSequence
  • Field Details

    • NEXT_SESSION_VERSION_ID

      static final long NEXT_SESSION_VERSION_ID
      Can be used to create an offline context for a session where you don't know the session version id of the next logon.
      See Also:
  • Method Details

    • terminate

      void terminate(b3.entrypoint.fixp.sbe.TerminationCode terminationCode)
      Terminate the connection. This method sends a terminate message. Note that the terminate message isn't guaranteed to be sent at the point that the message returns but the connection will retry on it's library's duty-cycle if it hasn't been sent. The session won't be fully terminated until the connection has received a reply from its counter-party or timed out.
      Parameters:
      terminationCode - the terminate code to use when sending the terminate message.
    • trySendNotApplied

      long trySendNotApplied(long fromSeqNo, long count)
      Send a notApplied message to the client.
      Parameters:
      fromSeqNo - the first applied sequence number.
      count - How many messages have not been applied.
      Returns:
      position.
    • sessionId

      long sessionId()
      Gets the session id. This corresponds to the session id within the Negotiate or Establish message used in the logon process.
      Returns:
      the session id.
    • sessionVerId

      long sessionVerId()
      Gets the session version id. This corresponds to the session version id within the Negotiate or Establish message used in the logon process.
      Returns:
      the session id.
    • finishSending

      void finishSending()
      Initiate the finish sending process within BinaryEntryPoint. This methods sends a FinishedSending message to its counter-party and awaits the receipt of the finished sending message from the counter-party. This messages agree the end of the sequence of messages of the current session version id. See the Binary EntryPoint specification for more details on the finished sending protocol. Once this method has been invoked then you cannot send any messages via the FixPConnection.tryClaim(MessageEncoderFlyweight) method. For this method to be successful you need to have an established session or one that has received a finished sending message from its counterparty.
    • key

      Specified by:
      key in interface uk.co.real_logic.artio.fixp.FixPConnection
    • cancelOnDisconnectType

      b3.entrypoint.fixp.sbe.CancelOnDisconnectType cancelOnDisconnectType()
      Gets the cancel on disconnect configuration for this session. This is the same field value that has been sent in the Establish message.
      Returns:
      the cancel on disconnect configuration for this session.
      See Also:
    • codTimeoutWindow

      long codTimeoutWindow()
      Gets the cancel on disconnect timeout window in milliseconds. This is the field value taken from the establish message, it cannot be over 60 seconds.
      Returns:
      the cancel on disconnect timeout window in milliseconds.
      See Also:
    • throttleMessagesAt

      uk.co.real_logic.artio.Reply<uk.co.real_logic.artio.messages.ThrottleConfigurationStatus> throttleMessagesAt(int throttleWindowInMs, int throttleLimitOfMessages)
      Override Artio's message throttle configuration for a given session.
      Parameters:
      throttleWindowInMs - the time window to apply the throttle over.
      throttleLimitOfMessages - the maximum number of messages that can be received within the time window.
      Returns:
      a reply object that represents the state of the operation.
      Throws:
      IllegalArgumentException - if either parameter is < 1.
      See Also:
      • EngineConfiguration.enableMessageThrottle(int, int)
    • isReplaying

      boolean isReplaying()
      Gets whether a replay is currently happening or not. Similar semantics to Session.isReplaying().
      Returns:
      true if a replay is currently happening.