INNER CODE UNIT · Rust
write_multiple_registers
slowtec/tokio-modbus · src/client/mod.rs:342
async fn write_multiple_registers<'a>(
&'a mut self,
addr: Address,
data: &[Word],
) -> Result<()> {
let cnt = data.len();
self.client
.call(Request::WriteMultipleRegisters(addr, Cow::Borrowed(data)))
.await
.map(|result| {
result.map(|response| match response {
Response::WriteMultipleRegisters(rsp_addr, rsp_cnt) => {
debug_assert_eq!(addr, rsp_addr);
debug_assert_eq!(cnt, rsp_cnt.into());
}
_ => unreachable!("call() should reject mismatching responses"),
})
})