INNER CODE UNIT · Rust
read_discrete_inputs
slowtec/tokio-modbus · src/client/mod.rs:166
async fn read_discrete_inputs<'a>(
&'a mut self,
addr: Address,
cnt: Quantity,
) -> Result<Vec<Coil>> {
self.client
.call(Request::ReadDiscreteInputs(addr, cnt))
.await
.map(|result| {
result.map(|response| match response {
Response::ReadDiscreteInputs(mut coils) => {
debug_assert!(coils.len() >= cnt.into());
coils.truncate(cnt.into());
coils
}
_ => unreachable!("call() should reject mismatching responses"),
})
})