Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Simple Binary Encoding (SBE)
Java C# C++ Protocol Buffer CMake Batchfile
Branch: master

Merge pull request #277 from mmcilroy/master

Instance variables and setPosition() fix
latest commit 2d0af386c9
@tmontgomery tmontgomery authored
Failed to load latest commit information.
config [Java]: Update boxing and final var usage in tests.
examples [C++]: address #273 by adding virtual destructors to some interface c…
gradle/wrapper [Java]: Upgrade to Gradle 2.5.
main Use instance variables and fix for bug in setPosition()
perf [C++]: address #273 by adding virtual destructors to some interface c…
test [C++]: address #273 by adding virtual destructors to some interface c…
vs2013 NuGet package is no longer beta
.gitattributes [C#] Reorganized C# projects in main, test and examples and created a…
.gitignore use cleaner way of depending upon pthreads bump to 1.0.2-RC2-SNAPSHOT
CMakeLists.txt [C++]: address #273 by adding virtual destructors to some interface c…
LICENSE Initial commit [C++]: fix code generator so build works. Add Agrona 0.4 dependency. … [Android] first implementation:
build.gradle post 1.1.1-RC2 version bump
gradlew initial gradle build for Java (non-android)
gradlew.bat initial gradle build for Java (non-android)
perf-build.xml [Java]: Update SbeTool for which buffer types are used for encoder an…
sbe-pom.xml post-release version bunmp
settings.gradle initial gradle build for Java (non-android)

Simple Binary Encoding (SBE)

SBE is OSI layer 6 presentation for encoding and decoding application messages in binary format for low-latency applications.

Further details on the background and usage of SBE can be found on the Wiki.

Benchmark tools and information can be found here and run from he root perf-build.xml file.

An XSD for SBE specs can be found here

License (See LICENSE file for full license)

Copyright 2013 Real Logic Limited

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.


Binaries and dependency information for Maven, Ivy, Gradle, and others can be found at

Example for Maven:


For .NET, you will find the binaries on NuGet

Search for 'SBE' in NuGet or run the following command line in the NuGet console

Install-Package Adaptive.SBE

Directory Layout

Main source code


Unit tests


Examples of usage



Full clean build:

$ ./gradlew

Run the Java examples

$ ./gradlew runJavaExamples


Jars for the executable, source, and javadoc can be found in


Android Build

In order to build the android binaries you need to run the android:dist target

$ ant android:dist

As a prerequisite, you need Android SDK to be installed and the path needs to be configured inside file. You need at least Android target 19 (it comes with Java 7 support) and Android build tools version at least 20.0.0. E.g.


Android jars for the codec, source, and javadoc can be found in


C++ Build using CMake

NOTE: Linux, Mac OS, and Windows only for the moment. See FAQ. Windows builds have been tested with Visual Studio Express 12.

First build using gradle to generate the SBE jar.

$ ./gradlew

Then build and test with CMake in the build subdirectory created by the gradle build.

$ cd build
$ cmake ..
$ cmake --build .
$ ctest

C# Build

See in vs2013 directory

Something went wrong with that request. Please try again.