Skip to content

zb,zm: Abstract away property invalidation + Drop proxy callbacks-based signal API

Zeeshan Ali Khan requested to merge zeenix/zbus:props-stream-item into main

This MR has these main changes:

  • Separate property change notification from fetching of the new property value. This way user can choose to be only notified of proprety changes, if they like. This also has implications to the invalidated property (see below).

  • Abstract away property invalidation: Property invalidation is the same as property update, except the new values are not communicated as part of the signal. This is nothing a user needs to know about (if they do, they can use low-level API) so we now handle it internally and only notify the user about a change in the property. If user is interested in the new value, they are given a simple method to fetch the new value.

  • Rename of blocking::MessageStream to MessageIterator.

  • Provide blocking wrappers for SignalStream and PropertyStream, called SignalIterator and PropertyIterator, respectively.

  • We drop signal and property callback API, in favor of Stream- and Iterator-based API.

Fixes #213 (closed).

Edited by Zeeshan Ali Khan

Merge request reports