# mbus-client-async
Role-focused async Modbus client facade for the modbus-rs workspace.
This crate re-exports the client API from `mbus-async::client` and keeps the
existing `mbus-async` crate unchanged for backward compatibility.
## Positioning
- Prefer this crate when you want an async client-only dependency.
- `mbus-async` remains supported as the combined async client+server crate.
## Usage
```toml
[dependencies]
mbus-client-async = "0.14.0"
```
```rust
use mbus_client_async::AsyncTcpClient;
async fn demo() -> anyhow::Result<()> {
let client = AsyncTcpClient::new("127.0.0.1", 502)?;
client.connect().await?;
Ok(())
}
```
Run the included quick-start example:
```bash
cargo run -p mbus-client-async --example quick_async_client --features network-tcp,coils
```
## Features
This crate forwards all of its feature flags to `mbus-async` client-related
features (for example: `network-tcp`, `serial-rtu`, `coils`, `registers`,
`traffic`).