Expand description
The unified IotClient async trait — the entry point of the
“thick-unification” layer over MQTT, Modbus, CoAP, and OPC UA.
Each protocol crate continues to expose its native API (e.g.
MqttClient::publish, ModbusClient::read_holding_registers) — that is
the recommended API for users who care about per-protocol semantics.
IotClient sits on top of the native API and is the surface the
iot-gateway crate uses to bridge protocols.
§AFIT
This trait uses async-fn-in-trait directly; that requires Rust 1.75+,
which the workspace pins. There is no async-trait macro and no boxed
futures in the hot path.
Trait objects (dyn IotClient) are not supported by the bare trait —
AFIT methods are not object-safe. The gateway crate provides a thin
BoxedClient adapter for that use case.
Structs§
- Property
Sample - One piece of telemetry — the value of a property, plus optional timestamp / quality metadata captured at the protocol layer.
Traits§
- IotClient
- The unified interface every protocol client implements.