rustbus
rustbus copied to clipboard
Dbus transport in pure rust
At the moment I don't see a way to take DuplexConn or the higher level RpcConn and get the file descriptor(s) that I can use in epoll for not blocking...
Are there any plans to provide async compatibility? I think this could be useful for a few things, even opening up the ability for a possible (clean) actor system or...
This prevents generalized error handling. e.g. w/ anyhow: ``` fn connect_sys() -> anyhow::Result { let sys_path = get_system_bus_path()?; rustbus::Conn::connect_to_bus(sys_path, true) } fn main() { let _ = match connect_sys() {...
This is useful for graceful shutdown of a service. When e.g. SIGTERM is sent to your service just stopping the process is pretty rough. dbus-daemon seems to handle it well...
Currently you would have to write that boilerplate code on your own. A proc-macro that derives the relevant getters and setters would be nice. Something like this trait should be...
Basically make it more generic for a possible future TcpSocket impl. Avoid going over the buffer in `read_message` twice. [BufReader](https://doc.rust-lang.org/stable/std/io/struct.BufReader.html#method.new) currently defaults to 8KB so it might make sense to...
#82 brought to light that variants are not very userfriendly * Either `get()` could check if the next value is a variant and do "the right thing" but I'll have...
* [ ] Collect changelog for the release summary * [x] #117 / #118 * [ ] #114 (Since this will be a breaking release anyway we might as well...
For example `rustbus::wire::unmarshal::traits::Variant`. `Variant` is not even a trait, so this could be `rustbus::wire::unmarshal::Variant`. Same for `rustbus::wire::marshal::traits::Variant`. Similarly `rustbus::wire::marshal::traits::SignatureBuffer` could be `rustbus::signature::Buffer`.
The derived Unmarshal impl for enums currently returns an error when none of the expected variants have been encountered. The best would probably be an attribute that designates one enum...