pub trait ModbusService:
Send
+ Sync
+ 'static {
// Required method
fn handle(
&self,
unit_id: UnitId,
request: DecodedRequest<'_>,
response_pdu: &mut [u8],
) -> Result<usize, ServiceError>;
}Expand description
Application-level request handler for Modbus servers.
Implement this trait to define how your device responds to Modbus requests.
See InMemoryModbusService for a ready-made
in-memory simulator implementation.
Required Methods§
Sourcefn handle(
&self,
unit_id: UnitId,
request: DecodedRequest<'_>,
response_pdu: &mut [u8],
) -> Result<usize, ServiceError>
fn handle( &self, unit_id: UnitId, request: DecodedRequest<'_>, response_pdu: &mut [u8], ) -> Result<usize, ServiceError>
Handle a decoded request and write a response PDU into response_pdu.
Return the number of bytes written. The response must include function code and payload, but not MBAP header bytes.