RSB 0.11 has been released
We are happy to announce the release of version 0.11 of the RSB middleware.
We are happy to announce the release of version 0.11 of the RSB middleware.
Notes¶
- Starting with this release, the request-reply communication uses a new protocol. As a result, request-reply communication is not possible between earlier versions and this version of RSB.
- Although never "officially" supported, the Python implementation previously allowed constructing participants by using the constructors of the respective classes. This is now explicitly unsupported.
rsb.createListener
etc. have to be used instead.
Changes¶
The following changes are included in this release:
Introspection- RSB now supports inspecting the participants, processes and hosts comprising a running system.
- subscopes of
/__rsb/
are now reserved for implementation purposes. The logger will not display events on these scopes by default. - An introspection protocol which works in terms of ordinary RSB events has been added.
- Request-reply communication pattern
- The
request
andreply
components have been removed from the scopes of participant implementing the communication protocol.
- The
- Support for sending introspection information has been added as a plugin.
- The build system now provides the CMake variable
RSB_SYSTEM_PLUGIN_DIRECTORY
for downstream projects. - New filter class
rsb::filter::MethodFilter
- New filter class
rsb::filter::TypeFilter
- Tools based on and examples for the C++ implementation now use the RSC functions
rsc::misc::waitForSignal
andrsc::misc::lastArrivedSignal
to terminate with proper cleanup of RSB objects. - The entry names for the enum
rsb::transport::Directions
have been prefixed withDIRECTION_
in order to prevent clashes with preprocessor symbols. - It is now safe to maintain participants in static variables since all transports have been rewritten so that the unknown order of static destruction is not a problem anymore.
- Support for sending introspection information has been added as a package.
- Support for sending introspection information has been added as a package.
- New filter class
rsb.filter.MethodFilter
rsb.createServer
has been renamed torsb.createLocalServer
. For backward compatibility, the former function has been retained as a deprecated alias for the latter.
- Support for sending introspection information has been added as part of the
rsb-introspection
system. - Support for receiving and aggregating introspection information has been added as part of the
rsb-introspection
system. - Participants can be created generically using the generic function
make-participant
which is backed by a service-provider protocol for registering, instantiating and inspecting kinds of participants. - Creation and state changes of participants can now be monitored via
*make-participant-hook*
and*participant-state-change-hook*
. - The implementation of the Request-reply pattern has moved from package
rsb.patterns
to packagersb.patterns.request-reply
.
- Some problems (e.g. starting the logger with a scope option or without URI scheme) in the URI handling of the Common Lisp tools have been solved.
- All column-based event formatting styles in the now compute (mostly) optimal column widths dynamically instead of choosing from a set of predefined layouts.
- The timeline view of the logger can now handle events whose timestamps lie in the past or future.
- The timestamp used to construct the timeline view of the logger is now configurable.
- A new event formatting style
monitor/timeline
has been added. - Monitor and timeline views of the logger now accept
:sort-column COLUMN
and:sort-reverse? BOOLEAN
arguments. - Monitor and timeline views of the logger can now remove entries after a configurable time of inactivity.
- The logger now accepts multiple URIs
- Commandline Interface
- The bag-play program now accepts the
--loop
option which allows replaying a sequence of events repeatedly.
- The bag-play program now accepts the
- Remote Interface
- The remote interface of the bag-record program now has methods
open
andclose
for switching log files without restarting the process.
- The remote interface of the bag-record program now has methods
For a more detailed list of fixed bugs, added features and other enhancements, see https://code.cor-lab.org/versions/41.
Obtaining and Installing RSB¶
In the process, about 100 issues have been created and subsequently resolved.
This RSB release is available in the following forms:- Source archives
- Pre-compiled self-installing archives or executable binaries
- Debian packages for different Ubuntu Linux versions
- Pypi packages on the official server
- Maven package for rsb-java (on CITEC server)
Installation instructions and links for downloading can be found on the preparation pages of the RSB manual and the RSBag manual.
Bug Reports and Related Projects¶
As always, bugs, feature requests and enhancement proposals can be reported in the respective issue trackers:
RSB,
RSBag.
- RSBag
- RSB GStreamer Integration
- RSB XML Support
- RSB Depth Sensor Support
- RSB OpenCV [Deprecated]
Robotics Systems Typesnot yet
have been released as well.
Comments