Giter Site home page Giter Site logo

fix-simple-open-framing-header's Introduction

fix-simple-open-framing-header

This project contains specifications for FIX Simple Open Framing Header (SOFH).

Protocol stack

SOFH is part of a family of protocols created by the High Performance Working Group of the FIX Trading Community. SOFH is a presentation layer protocol (OSI layer 6).

Versions

Version 1.1 Release Candidate 1

Version 1.1. RC1 was approved by the Global Technical Committee on Sept. 19, 2019 for 90 day public review. The key enhancements were:

  • Allows little-endian byte order by counterparty agreement
  • Adds encoding type for SBE v2.0

Version 1.0 Draft Standard

Version 1.0 was promoted to Draft Standard was approved by the Global Technical Committee in December 2016.

License

SOFH specifications are ©Copyright 2013-2020 FIX Protocol Limited.

Creative Commons License
FIX Simple Open Framing Header specification by FIX Trading Community is licensed under a Creative Commons Attribution-NoDerivatives 4.0 International License.
Based on a work at https://github.com/FIXTradingCommunity/fix-simple-open-framing-header.

fix-simple-open-framing-header's People

Contributors

donmendelson avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

fix-simple-open-framing-header's Issues

Allow Little-Endian byte order

On most platforms we use little endian instead of big endian. To convert the Message_Length field in the SOFH is easy, a single ntohl() call will suffice. And the x86-32 and x86-64 platforms have a 32-bit 'bswap' assembly instruction, the reversion can be done within a few instructions inline:
uint32_t asm_ntohl(uint32_t a)
{
__asm
{
mov eax, a;
bswap eax;
}
}

So it will not incur much performance penalties in practice. But this discovery will give us another interesting question: given the high performance in doing so, why do we strive to use the native byte order in SBE whenever possible? It is recommended to clarify the main difference here, that is , for SOFH, only one such conversion is needed and for the transmitted messages, you may have to do multiple conversions in one message.

Big Ending byte order

Integer values encoding using Big Ending byte order.

AFAIK, there is no such thing like Big Ending byte order. There is Big Endian.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.