zbus-2.0.0-beta.2
·
4701 commits
to main
since this release
Yet another beta rollout of the upcoming 2.0 release. The highlight of this release is azync::Proxy, including macro support to generate convenient and typed wrappers for it. Other changes:
azync::Connection::receive_specific::predicatenow async. Like other async API taking an async closure, this shouldn't be any different either.- Make Connection's incoming message queue, leaky Instead of dropping all new messages after the queue is full, drop the oldest message in the queue to make room for the new one, instead. With the queue size as large as 64 by default, if the message hasn't yet been picked up by anyone, it likely never will be and the new messages might be of more interest.
- Bump default max incoming message queue length to 64. Now with more test cases and them running in parallel, we easily end up with 32 messages, so bump it to 64.
- Re-export
futures_coreso that it can be used in the macros. Proxy::pathnow exposes path asObjectPath.- Provide conversion from/to
Connectionto/fromazync::Connection. - Add
Connection::{inner, into_inner}methods. These methods provide access to the underlyingazync::Connection. - Ensure proxy only received signals from its destination.
- Support
DBUS_COOKIE_SHAauthentication. - Handshake API now private.
- Many fixes and improvements to handshake code.
- Fix return value of
fdo::DBusProxy::release_name. - Make API consistent wrt ObjectPath arguments. We've a specific type for object paths but for convenience we've been allowing string types to be passed as object paths that we internally convert to ObjectPath or OwnedObjectPath. However, we've been inconsistent on this practice and require ObjectPath to be passed by the user in some places. We now expect users to always pass something that can be converted into an ObjectPath, which includes both &str and String.
- Drop links to docs.rs from Cargo.toml file. The link for crates.io is automatically generated for us so specifying it manually could lead to link sending to latest stable release docs from an alpha or beta release page.
- Update links in docs to point to our new cool repository location.
- Rename
azync::Streamtoazync::MessageStream. It's better since we have other streams too (at leastSignalStream). Also,azync::Sinktoazync::MessageSinkfor consistency. - Fix return value of
Proxy::disconnect_signal. If connection was for non-bus, we were returning false even if a signal handler was removed. - Drop dep on
pollster. - Don't setup match rules for
DBus.{NameAcquired, NameLost}signals. These signals are sent to the interested app directly and always. - Implement
CloneforMessage. - Add
Debugimpl for all Proxy types. - Other minor fixes.