SBE Protocol Decoder and Encoder implementations
SBE (Simple Binary Encoding) is a protocol for decoding and encoding messages in binary format. It is optimized for low latency and deterministic performance.
The message format is defined using native primitive data types (integers, chars), so no translation is needed to put data into a wire format. SBE addresses data representation only; there are no business-level requirements on the message structure. Both fixed-length and variable-length fields are supported.
The message layout is defined in the XML-based SBE template (schema). The template defines which fields belong to a message and their location within a message. It also describes valid value ranges and information that need not be sent on the wire, such as constant values.
The OnixS SBE Decoders and Encoders are ultra-low latency implementations of the SBE Protocol in C++, Java and .NET.
The OnixS SBE Decoder and Encoder implementations are designed to significantly reduce development time and costs for financial applications that need to encode and decode binary application messages. They are widely used in mission-critical production systems as a building block of the following products:
Main features include
- Easy-to-use API
- Low CPU and memory consumption
- Memory allocation-free / GC-free (no memory is allocated in the critical path)
- Comprehensive documentation
- QuickStart reference implementation source code for specific contexts
- Direct access to field values both on the message and group levels
- Flexible support of SBE Schema versioning
- No need to re-compile the application to support newer SBE Schemas
- CME pre-certified