Skip to content

Binary EntryPoint Support

Richard Warburton edited this page Aug 27, 2021 · 5 revisions

What is Binary EntryPoint and who should use it?

Binary EntryPoint is a FIXP based protocol for binary order entry used by B3. The B3 Documentation provides details of the protocol itself and should be considered a reference guide, the rest of this wiki page just explains how Artio can be used with Binary EntryPoint.

How does Binary EntryPoint relate to Artio?

Binary EntryPoint is an order entry protocol that Artio supports. Just in the same way that Artio supports different versions of the FIX protocol. That means that Artio will manage the Binary EntryPoint session protocol and your application has to handle the business logic side of things for example sending orders and handling execution reports.

Status

Feature complete.

Implementing Binary EntryPoint with Artio

Setup your project

The Binary EntryPoint implementation requires additional dependencies to artio-core with the following coordinates: uk.co.real-logic:artio-binary-entrypoint-codecs and uk.co.real-logic:artio-binary-entrypoint-impl. These packages are released to maven central along with normal artio releases. Here is an example dependencies section that includes Artio with Binary EntryPoint support.

dependencies {
    implementation 'uk.co.real-logic:artio-binary-entrypoint-codecs:${artioVersion}'
    implementation 'uk.co.real-logic:artio-binary-entrypoint-impl:${artioVersion}'
    implementation "uk.co.real-logic:artio-codecs:${artioVersion}"
    implementation "uk.co.real-logic:artio-core:${artioVersion}"

}

Core concepts

uk.co.real_logic.artio.fixp.FixPContext uk.co.real_logic.artio.fixp.FixPKey

uk.co.real_logic.artio.fixp.FixPConnection

Implementation specific: uk.co.real_logic.artio.binary_entrypoint.BinaryEntryPointConnection

Accepting Connections

Please refer to Artio's normal documentation and samples for examples of how to setup a FixEngine and FixLibrary within your project. These examples assume that you have a connected Library and go from there. The general pattern for accepting FIXP connections is that you have equivalent to Handler interfaces to the FIX interface but with a FIXP prefix here is a table showing comparable interfaces. Due to the nature of the difference between the FIX and FIXP protocols we don't share the exact same interface.

FIX FIXP
uk.co.real_logic.artio.library.SessionExistsHandler uk.co.real_logic.artio.library.FixPConnectionExistsHandler
uk.co.real_logic.artio.library.SessionAcquireHandler uk.co.real_logic.artio.library.FixPConnectionAcquiredHandler
uk.co.real_logic.artio.library.SessionHandler uk.co.real_logic.artio.fixp.FixPConnectionHandler
uk.co.real_logic.artio.session.Session uk.co.real_logic.artio.fixp.FixPConnection
uk.co.real_logic.artio.engine.logger.FixMessageConsumer uk.co.real_logic.artio.fixp.FixPMessageConsumer
uk.co.real_logic.artio.BusinessRejectRefIdExtractor uk.co.real_logic.artio.fixp.FixPRejectRefIdExtractor

Sending Application level Messages

Artio implementation differences compared to FIX

Artio's Binary EntryPoint implementation is Acceptor only, doesn't support Engine owned sessions, sole library mode.

Clone this wiki locally