Real-Time SDK - C/C++

API Description

Real-Time SDK APIs:  C/C++ Edition

This is the Real-Time SDK (RTSDK), formerly known as Elektron SDK (ESDK). This SDK encompasses these open source Real-Time APIs: Enterprise Message API (EMA) and Enterprise Transport API (ETA). This SDK is available for download in the download section and contains pre-built libraries on support platforms and compilers. This SDK is also availble on GitHub with instructions to build the libraries.

IMPORTANT Technical Change Annoucement: Starting with version RTSDK 2.2.1.L1 (EMA/ETA 3.8.2.L1), Enterprise Message API (EMA) C++ and Java will be extended to throw OmmInvalidUsageException when decoding BLANK array in either a FieldEntry or ElementEntry. For more details on support, refer to PCN-209046.

IMPORTANT Rebranding Annoucement: Starting with version RTSDK 2.0.0.L1 (same as EMA/ETA 3.6.0.L1), there are namespace changes and library name changes. Please note that all interfaces remain the the same as prior releases of RTSDK and Elektron SDK and will remain fully wire compatible. Along with RTSDK 2.X version, a REBRAND.md is published to detail impact to existing applications and how to quickly adapt to the re-branded libraries. Existing applications will continue to work indefinitely as-is.  Applications should be proactively rebranded to be able to utilize new features, security updates or fixes post 2.X release. For more details on support, refer to PCN

Enterprise Transport API

The Enterprise Transport API (ETA) is the open source, high performance, low latency, foundation of the Real-Time SDK. This API allows applications to achieve the highest throughput, lowest latency, low memory utilization, and low CPU utilization when publishing or consuming content. All Open Message Model (OMM) content and domain models are available through the Enterprise Transport API.  ETA, written in C, is actually 3 APIs packaged as one: applications may be written directly to the transport layer (RSSL) which implements the Wire Format (RWF), or, to Value-Add Reactor layer, and, may optionally utilize the extensive Watchlist feature-set.

ETA is used by both Real-Time (formerly Elektron) and LSEG Real-Time - Optimized (formerly Elektron Real-Time Cloud) for the optimal distribution of OMM/RWF data. Note that ETA is the rebranded Elektron Transport API, which in turn was formerly known as the Ultra Performance API (UPA).  All interfaces in ETA are the same as their corresponding interfaces in UPA (same name, same parameter sets) and the transport and codec are fully wire compatible.

Enterprise Message API

The Enterprise Message API (EMA) is a open source, data-neutral, multi-threaded, ease-of-use API providing access to OMM and RWF data. As part of the Real-Time Software Development Kit, or RTSDK, the Enterprise Message API allows applications to consume and provide OMM data at the message level of the API stack. The message level, written in C++, is coded to Enterprise Transport API and fully utilizes the transports, codec, messages, data format, value-add reactor and watchlist features of ETA.

  • Multiple string types
  • Easy access native RWF 
  • Minimize: LOC, COC, type dissemination, down casting, life cycle management, need to wade through documentation
  • Field search decoding
  • Fluent encoding
  • Rapid startup: 
    • Defaulted admin
    • Defaulted configuration
  • Powerful overrides
  • Full breadth of OMM 
  • Multiple sessions/connections
  • Connection / item recovery
  • Posting / Peer-to-Peer
  • External cache
  • Domain representations
  • Scalable thread pipelining & parallelism 
  • High (not ultra) performance

RTSDK Roadmap

For details on future features please view roadmap.

SUBSCRIBE TO THIS API UPDATES

By submitting this form, you agree to your personal data being shared within the London Stock Exchange Group of companies (LSEG) for the purpose of receiving communications via post, phone and electronic means from LSEG about event, resources, products, and/or services.

For more information on how LSEG uses your data, see our Privacy Statement. You can adjust your preferences at any time through the preference link in any electronic communication that you receive from us.