RSB 0.4 Released

Added by J. Moringen over 12 years ago

Overview

We are happy to announce the release of the 0.4 version of RSB. The development activities in this cycle focused primarily on extending and optimizing the wire format and improving the usability of and support for protocol buffer message objects as event payloads. In the process, more than 30 issues have been created and subsequently resolved.

  • Downloadable source archives of this version are available in the Files section of this Redmine
  • pre-compiled archives of RSB can be found as artifacts on our continuous integration server
  • As always, bugs, feature requests and enhancement proposals can be reported in the issue tracker

Please note that RSB clients using the 0.4 version of RSB cannot communicate with clients using a previous RSB version.

The following paragraphs describe the changes in more detail.

For an even more detailed list of fixed bugs, added features and other enhancements, see https://code.cor-lab.org/projects/rsb/versions/17

Network Protocol for Spread-based Communication

  • Removed Event Ids
    The eagerly computed, mandatory unique id field of events is now lazily computed from a static id and a sequence number. Events can be transmitted without computing the id. This change saves 12 bytes in each notification sent over the wire.
    Thanks: Stefan Herbrechtsmeier
  • Removed Version Field in Notifications
    Incompatible wire format versions can now be detected by means of a trick which does not incur any runtime overhead in space or time. This enabled removal of the Notification.version field, saving four bytes in each notification sent over the wire.
  • Method Field
    The method field of events is now fully specified and used in request/reply communication.

C++

  • Request/Reply Communication
    In addition to blocking request/reply invocation, a future-based asynchronous interface is now available.
  • Efficiency Improvements
    Several performance problems related to scope and event construction have been fixed.

    Thanks: Matthias Rolf, Arne Nordmann

Java

  • Request/Reply Communication
    Request/reply communication with blocking and asynchronous invocation modes has been implemented.
  • Converter Selection and Protocol Buffer Converter
    A converter registration and selection mechanism and a generic converter for protocol buffer data holder classes have been added.

Python

  • Request/Reply Communication
    Request/reply communication with blocking and asynchronous invocation modes has been implemented.
  • Protocol Buffer Converter
    A converter for protocol buffer data holder classes has been added.

Common Lisp

  • Request/Reply Communication
    Request/reply communication with blocking and asynchronous invocation modes has been implemented.

Comments