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
(or
tokio::runtime::Runtime::block_on
) to turn them into blocking calls.
This module is only available when the blocking-api
feature is enabled (default).
§Caveats
Since methods provided by these types run their own little runtime (block_on
), you must not
use them in async contexts because of the infamous async sandwich footgun. This is
an especially important fact to keep in mind for crate::interface
. While 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.
Re-exports§
pub use connection::Connection;
pub use object_server::ObjectServer;
pub use proxy::Proxy;
Modules§
- connection
- Blocking connection API.
- fdo
- D-Bus standard interfaces.
- object_
server - The object server API.
- proxy
- The client-side proxy API.
Structs§
- Message
Iterator - A blocking wrapper of
crate::MessageStream
.