cmaves / async-rustbus

An asynchronous implementation of the DBus protocol based on rustbus
2 stars 1 forks source link

async-rustbus CI Testing

This crate implements an async API for interacting with DBus. Beyond being just async, it is also thread-safe, allowing for a single connection to be used by multiple threads. It is built on top of KillingSpark's existing rustbus crate and reuses its implementation of the DBus wire format and message protocol. A non-blocking reimplementation of rustbus's Conn is used to build an async version of RpcConn. This crate's async version of RpcConn creates an async API for connecting to system, session, and remote (TCP) DBus daemons, sending messages, receving method calls and signals.

Design differences between this crate and rustbus and why

While the async crate reuses the message format of the parent crate, there were some design decisions that differ from the orignal when handling connections:

Status

This crate has yet to be published and still needs documentation, however most of the functionality is implemented. The signal implementation has not been validated, but everything else is in working order.