The Lab

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Published by Scroll Versions from this space and version 1.5.62

...

For those client not immediately familiar with binary messaging protocols such as SBE, MarketFactory has prepared a open sample client application in Java illustrating best practice models for usage of the codec stubs generated from the schema, threading model, callbacks etc. This should be considered a starting point for integration into the customers specific deployment architecture.

The SBE encoders and decoders in the samples are generated using the SBETool with the following options:

Code Block
languagetext
sbe.target.language: 'Java'
sbe.validation.stop.on.error: 'true'
sbe.target.namespace: 'com.marketfactory.protocol.sbe4'
sbe.java.generate.interfaces: 'true'
sbe.generate.stubs: true

5.3.0 - 29 Aug 2025

  • [UPDATED] Schema changed to 19458. Non-breaking change.
  • [FIXED] When a partial message read was done and then the next socket read read no bytes; the original bytes were lost.

5.2.0 - 19 Feb 2025

  • [UPDATED] Updated to schema version 19457. Non breaking change.

5.1.0 - 12 Aug 2024

  • [UPDATED] Improved SBE samples, reference API implementation and documentation.

5.0.0 - 9 Apr 2024

  • [UPDATED] BREAKING CHANGE. Schema changed to 19456
    • All repeating groups counts changed from uint8 (255) to uint16 (65535). This was done specifically to allow more MarketDataIncrementalRefresh entries as some venues send 300+ entries per side. This change requires no code changes on the client-side but changes the message wire-format and is NOT backwards compatible.
  • [UPDATED] Updated agrona and SBE dependency versions

4.13.0 - 23 Feb 2024

  • [UPDATED] Changed the Pricing Session sample code to set the resetSeqNum Flag to true.
  • [FIXED] Now when connected to the venue, all BusinessMessageReject messages are passed to handlers.

4.12.0 - 8 Dec 2023

  • [UPDATED] Updated to schema version 18945

4.11.0 - 26 Sept 2023

  • [UPDATED] Performance improvements

4.10.0 - 22 Aug 2023

  • [UPDATED] Updated to schema version 18944

4.9.0 - 2 Mar 2023

  • [UPDATED] Removed the temporary support for the original logon procedure added in 4.2.0.
  • [FIXED] During logon if multiple messages are processed in a batch, the state change needs to take effect immediately to properly process.

4.8.0 - 1 Nov 2022

  • [UPDATED] Modified to handle corrected Logout protocol. Venue logout first, followed by Gateway logout. https://confluence.marketfactory.com/x/M4FZAg

4.6.1 - 16 February 2022

  • [FIXED] Fixed issue with compilation incompatibilities in version 4.6.0. Running 4.6.0 with Java 8 produced an Exception: java.lang.NoSuchMethodError: java.nio.ByteBuffer.limit(I)Ljava/nio/ByteBuffer;

4.6.0 - 7 January 2022

  • [UPDATED] log4j version updated to 2.17.1 to get the bugfix for the critical vulnerability.

4.5.0 - 12 December  2021

  • [UPDATED] Moved to log4j version 2.15.0 to get the bugfix for the critical vulnerability.

4.4.0 - 27 October 2021

  • [UPDATED] Schema changed to 18656.
    • NOTE: the uk.co.real-logic SBE-ALL dependency changed from 1.11.0 to 1.24.0
    •  see The Lab https://confluence.marketfactory.com/x/cxgcAQ for details of the changes.

4.3.1 - 27 September 2021

  • [UPDATED] Included the reference API source code in the 'src' directory. It is also included in the '-sources'.jar in the libs directory.
  • [UPDATED] Removed the 'Tools' directory as it was out-of-date.

4.3.0 - 21 September 2021

  • [UPDATED] Added support and sample for the Replay Service.

4.2.0 - 15 June 2021

  • [UPDATED] Added, temporary, support for the original logon protocol that changed in version 4.0.0. Now both protocols, new and original, are supported. The code 'guesses' at which protocol the server is using - no code changes required on the user's side.

4.1.0 - 2 Feb 2021

  • [UPDATED] Schema changed to 18654

4.0.0 - 20 Jan 2021

  • [UPDATED] BREAKING CHANGE. Schema changed to 18542
    • Reject and BusinessMessageReject - These standard FIX protocol messages have been added as part of a planned migration from ErrorReport, which will be deprecated in due course.
    • TenorType - M13 & M14 tenors added, for Integral_RFS_Maker
    • Execution Report legAvgPx - New field
    • MarketDataRequest - Now incorporate a NoBodyPassthruFields block to support per-venue customisation.
    • Additional values in various enums
  • [UPDATED] BREAKING CHANGE. Synchronisation Model Changed
    • Details here https://confluence.marketfactory.com/x/IIFZAg
    • The Sample Client will not work with servers prior to the 2020.11.16.WE version
  • [UPDATED] Removed the requirement for samples to increment next expected sequence numbers.
    • To increase the consistency and clean up the sample code the inputSequenceStore.compareAndIncrement(messageHeader.msgSeqNum()); has been removed from every onXXX message handler callback method. The incrementing happens before the message is sent to the callback.

3.1.1 - 24 Nov 2020

  • [FIX] Ensured HeaderFlags is cleared on all Sample outgoing messages

...