logo

Module zbus::blocking[][src]

Expand description

The blocking API.

This module hosts all our blocking API. All the types under this module are thin wrappers around the corresponding asynchronous types. Most of the method calls are simply calling their asynchronous counterparts on the underlying types and use async_io::block_on to turn them into blocking calls.

Caveats

Since methods provided by these types run their own little runtime (block_on), you must not call by them from async contexts because of the infamous async sandwich footgun. This is is an especially important fact to keep in mind for crate::dbus_interface. While dbus_interface allows non-async methods for convenience, these methods are called from an async context. The blocking crate provides an easy way around this problem though.

Modules

D-Bus standard interfaces.

Structs

A blocking wrapper of zbus::Connection.

Wrapper over an interface, along with its corresponding SignalContext instance. A reference to the underlying interface may be obtained via InterfaceRef::get and InterfaceRef::get_mut.

A blocking wrapper of crate::MessageStream.

A blocking wrapper of crate::ObjectServer.

An std::iter::Iterator implementation that yields owner change notifications.

A property changed event.

An std::iter::Iterator implementation that yields property change notifications.

A blocking wrapper of crate::Proxy.

Builder for proxies.

An std::iter::Iterator implementation that yields signal messages.

Traits

Trait for the default associated values of a proxy.