aramperes / nut-rs

rups: A Network UPS Tools (NUT) implementation in Rust.

Home Page:https://crates.io/crates/rups

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Async support

aramperes opened this issue · comments

Since this library is entirely I/O bound, I think it makes sense to support async (tokio).

I'm not familiar with supporting both a blocking implementation and an async one. Should maybe take inspiration from reqwest.

For now (#10) I simply duplicated the code in nut_client::blocking to nut_client::tokio and replaced the types/added async everywhere.

I would like to reduce duplication as much as possible, beyond the core streaming functions. Things like parsing etc. are mostly in cmd but not everything.