Low-level non-blocking API for integration with third-party event loops
Some apps may wish to integrate a D-Bus connection into their event loop, but don't use Rust's async/await nor the associated runtimes.
Making zbus useable for such apps mostly implies providing two bits of API:
- a non-blocking version of
Connection::receive_message
, that returnsstd::io::ErrorKind::WouldBlock
if there is nothing to be read rather than blocking waiting for a message to arrive - access of a file descriptor, that the app can then register into its own event loop (backed by
epoll
or equivalent). I see thatConnection
already implementsAsRawFd
, so I suspect this is already possible?
Would that be in-scope for zbus?