1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
use {Result, Coil}; pub trait Client { fn read_discrete_inputs(&mut self, address: u16, quantity: u16) -> Result<Vec<Coil>>; fn read_coils(&mut self, address: u16, quantity: u16) -> Result<Vec<Coil>>; fn write_single_coil(&mut self, address: u16, value: Coil) -> Result<()>; fn write_multiple_coils(&mut self, address: u16, coils: &[Coil]) -> Result<()>; fn read_input_registers(&mut self, address: u16, quantity: u16) -> Result<Vec<u16>>; fn read_holding_registers(&mut self, address: u16, quantity: u16) -> Result<Vec<u16>>; fn write_single_register(&mut self, address: u16, value: u16) -> Result<()>; fn write_multiple_registers(&mut self, address: u16, values: &[u16]) -> Result<()>; }