simple-binary-encoding

Simple Binary Encoding (SBE) - High Performance Message Codec

APACHE-2.0 License

Stars
3K
Committers
104

Bot releases are hidden (Show)

simple-binary-encoding -

Published by mjpt777 over 6 years ago

  • Update to latest CME fix binary market template for testing.
  • Allow, with warning, numInGroup type to use uint32 for repeating groups.
  • Add support to C# codecs for constant presence enums.
  • Fix issue with loss of IR data on encoding the IR for constant presence enums. Issue #560.
  • Complete functionality for JsonPrinter so that an SBE message can be transformed to JSON for debugging. Issue #560.
  • Remove debugging output from C++ IR decoder. Issue #559.
  • Make HEADER_SIZE a public constant in Java codecs for repeating groups.
  • Allow Java decoders to use an Appendable for ASCII strings. PR #557.
  • Upgrade to Mockito 2.19.0.
  • Upgrade to Checkstyle 8.10.1.
  • Upgrade to Agrona 0.9.19.
  • Upgrade to GSON 2.8.5.

Java binaries can be found here...

simple-binary-encoding -

Published by mjpt777 over 6 years ago

  • Upgrade to JMH 1.21.
  • Upgrade to Checkstyle 8.10.
  • Upgrade to Shadow 2.0.4.
  • Upgrade to Agrona 0.9.18.

Java binaries can be found here...

simple-binary-encoding -

Published by mjpt777 over 6 years ago

  • Use Constructor to dynamically create new instances to avoid deprecated warning in Java 10.
  • Remove use of javax.annotation.Generated so that the generated codecs compile and and run on Java 10.
  • Rename position methods in C++ generated codecs to sbePosition to avoid clash with Aeron codecs for the archive and clustering. Note: this is a breaking change for those who have used these methods.
  • Upgrade to Gradle 4.7.
  • Upgrade to Agrona 0.9.17.

Java binaries can be found here...

simple-binary-encoding -

Published by mjpt777 over 6 years ago

  • Return NULL_VAL for unknown enum value so it can be used in a Java switch. PR #548
  • Improve C++ Unit tests. PR #459.
  • Use since version from field rather than type in Java codecs. PR #548.
  • Generate put CharSequence methods for ASCII encoded fields in Java. PR #547
  • Cleaning up unit tests' global namespaces for C++. PR #545
  • Generates invalid CSharp code when using sinceVersion attribute inside groups. PR #555.
  • Add support for netstandard2.0 removing support for 1.3 for .NET.
  • Upgrade to Shadow 2.0.3.
  • Upgrade to Mockito 2.18.3.
  • Upgrade to Gradle 4.6.
  • Upgrade to Checkstyle 8.9.
  • Upgrade to Agrona 0.9.16.

Java binaries can be found here...

simple-binary-encoding -

Published by mjpt777 over 6 years ago

  • Remove redundant throws clause from Java TargetCodeGenerator.
  • Removed the using of namespace in generated C++ headers. Issue #544.
  • Fix generated C# code for version checking of fields. Issue #543.
  • Upgrade to Agrona 0.9.15.

Java binaries can be found here...

simple-binary-encoding -

Published by mjpt777 over 6 years ago

  • Advance toString() operation on Java decoders when raw bytes for var data is encountered. Issue #542.
  • Add C++ classes for OTF and header include to the sources jar. Issue #540.
  • Upgrade to Agrona 0.9.14.

Java binaries can be found here...

simple-binary-encoding -

Published by mjpt777 over 6 years ago

  • Regenerate IR codecs.
  • Provide ByteOrder as a constant available in the generated Java codecs.
  • Do not allocate when putting or getting an empty string in Java codecs.
  • Apply strict indentation code style.
  • Upgrade to JMH 1.20.0.
  • Upgrade to Gradle 4.5.1.
  • Upgrade to Checkstyle 8.8.
  • Reduce Hamcrest dependency from all to library.
  • Upgrade to Mockito 2.15.0.
  • Upgrade to Agrona 0.9.13.

Java binaries can be found here...

simple-binary-encoding -

Published by mjpt777 almost 7 years ago

  • Fix build of golang code due to failing test. Issue #532.
  • Generate getters for constant properties in Java decoders. Issue #531.
  • Rework C++ OTF to support unaligned access.
  • Generate field accessors in C++ to use memcpy to support platforms requiring aligned access and X86 when the XMM registers are used. Issue #506.
  • Rework C++ generated code for options sets to work with Visual Studio.
  • Upgrade to Mockito 2.13.0.
  • Upgrade to Checkstyle 8.5.
  • Upgrade to JShadow 2.0.1.
  • Upgrade to Gradle 4.4.
  • Upgrade to Agrona 0.9.12.

Java binaries can be found here...

simple-binary-encoding -

Published by mjpt777 almost 7 years ago

  • Support lookup of an enum value to be used as the value for a constant primitive type in a composite or message. Issue #529.
  • Take account of constant fields when computing block length. Issue #528.
  • Validate the type is correct in a valueRef attribute.
  • Update to Mockito 2.12.0.
  • Update to Checkstyle 8.4.
  • Update to Agrona 0.9.11.

Java binaries can be found here...

simple-binary-encoding -

Published by mjpt777 almost 7 years ago

  • Generate Javadocs for major types in codecs based on descriptions. Simple fields to come later.
  • Take the max of type and field version rather than just having the field take precedence.
  • Expose a JsonPrinter method that takes an UnsafeBuffer rather than a ByteBuffer.
  • Update to Mockito 2.11.0.

Java binaries can be found here...

simple-binary-encoding -

Published by mjpt777 about 7 years ago

  • Fix the generated group name for arrays within groups for c++ codecs. #521.
  • Upgrade to Agrona 0.9.9.

Java binaries can be found here...

simple-binary-encoding -

Published by mjpt777 about 7 years ago

  • Fix move constructors and assignment operators for c++ 11 code generation.
  • Add bit twiddling methods to codecs for bitsets. Issue #489.
  • Remove old SBE typedefs from C++ codecs.
  • Handle case of constant array of char with length of 1. Issue #505.
  • Capture types by ref name for support refs in refs. Issue#496.
  • Improvements to efficiency of introducing c++ 11 functionality.
  • Initial support for Rust language.
  • Upgrade to GSON 2.8.2.
  • Upgrade to Checkstyle 8.3.
  • Upgrade to Mockito 2.10.0.
  • Upgrade to Agrona 0.9.8.

Java binaries can be found here...

simple-binary-encoding -

Published by mjpt777 about 7 years ago

  • Add accessors for buffer length on C++ codecs. Issue #479.
  • Add the ability to lookup message tokens when decoding IR by template id for C++. Issue #484.
  • Don't dereference a null character encoding. Issue #491.
  • Add metadata attribute for presence. Issue #483.
  • Add noexcept specifier for C++ PR #480
  • Capture referenced name when dealing with simple types for refs. Issue #477.
  • Handle presence=optional better in Golang generator. PR #475.
  • Validate message names and field names are unique in a given context. Issue #470
  • Copy elements of correct size in C++ fix arrays. Issue #402.
  • Generate a field accessor as a char for constant Java char arrays exactly 1 in length.
  • Generate a field accessor as a String for constant Java char arrays greater than 1 in length.
  • Generate garbage free settors for Java strings and char arrays when the encoding is US_ASCII.
  • Use compiler detections to guard pragmas to suppress excessive warnings. Issue #437.
  • Provide dotnet core support. PR #456.
  • Correct defaults for UINT32 type as per specification. Note: this maybe breaking for those relying on hardcoded references for the values. Issue #455.
  • Upgrade to Mockito 2.8.47.
  • Upgrade to JMH 1.19 for Java benchmarks.
  • Upgrade to sevntu-checks:1.24.1.
  • Upgrade to Checkstyle 8.1.
  • Upgrade to Gradle 4.1.
  • Upgrade to Agrona 0.9.7.

Java binaries can be found here...

simple-binary-encoding -

Published by mjpt777 over 7 years ago

  • Use compiler detections to guard pragmas to suppress excessive warnings in C++ #454
  • Reinstate C# support but consider it beta.
  • Fix min/max macro conflicts on Windows for C++.
  • Remove sinceVersion=1 from deprecated attribute in IR as the base IR has no message header.
  • Support generation of var-data methods for raw data which do not have a characterEncoding.
  • Default to US-ASCII rather than UTF-8 for char type as per specification.
  • Generate wrapAndApplyHeader() method to Java encoders for convenience.
  • Upgrade to Agrona 0.9.6.
  • Upgrade to Checkstyle 7.7.

Java binaries can be found here...

simple-binary-encoding -

Published by mjpt777 over 7 years ago

  • Upgrade to Agrona 0.9.5.
  • Upgrade to Gradle 3.5.
  • Upgrade to Mockito 2.7.22.

Java binaries can be found here...

simple-binary-encoding -

Published by mjpt777 over 7 years ago

  • Share some test code with Golang.
  • Upgrade to Checkstyle 7.6.1.
  • Upgrade to Agrona 0.9.4.
  • Upgrade to Gradle 3.4.1.
  • Upgrade to Mockito 2.7.21.

Java binaries can be found here...

simple-binary-encoding -

Published by mjpt777 over 7 years ago

  • Allow complex types to be included in the messageHeader for a schema.
  • Fixed bug #435 so that the name is correctly picked up for ref types in composites.
  • Add referencedName to the IR so that is can be used with ref types.
  • Code clean ups for C++.
  • Go lang support beta complete.
  • Upgrade to Agrona 0.9.3.
  • Upgrade to Gradle 3.4.
  • Upgrade to Mockito 2.7.9.

Java binaries can be found here...

simple-binary-encoding -

Published by mjpt777 over 7 years ago

  • Make name clash with language keywords a warning rather than error. Issue #433.
  • Capture byte order as a field in the IR for convenience.
  • Add missing accessor methods for C++ OTF Token and Encoding.
  • Golang additions in preparation for beta launch.
  • Upgrade to Checkstyle 7.5.1.

Java binaries can be found here...

simple-binary-encoding -

Published by mjpt777 over 7 years ago

  • Fix bug with generating composites within composites.
  • Fix bug with message sinceVersion being over written by schema version id.
  • Add deprecated version information from the XML to the IR.
  • Add Golang support to generator.
  • Upgrade to Agrona 0.9.2.
  • Upgrade to JMH 1.17.4.
  • Upgrade to Checkstyle 7.4.
  • Upgrade to sevntu-checks 1.23.0.
  • Upgrade to Mockito 2.6.8.
  • Upgrade to Gradle 3.3.

Java binaries can be found here...

simple-binary-encoding -

Published by mjpt777 almost 8 years ago

  • Correct issues with message extension on types other than basic encoded types.
  • Removed unneeded fields from the Java codecs to reduce footprint.
  • Capture sinceVersion and description attributes for all types in the XML schema and store in the IR.
  • Expose the buffer and offset as accessor methods in the Java stubs.
  • Generate encoding offset and length as static methods for fields in the codec stubs.
  • Upgrade to JMH 1.17.3.
  • Upgrade to Checkstyle 7.3.
  • Upgrade to sevntu-checks 1.22.0.
  • Upgrade to Mockito 2.2.29.
  • Upgrade to Agrona 0.9.1.
  • Upgrade to Gradle 3.2.1.

Java binaries can be found here...