Skip to main content

ModbusService

Trait ModbusService 

Source
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§

Source

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.

Implementations on Foreign Types§

Source§

impl<T> ModbusService for Arc<T>
where T: ModbusService + ?Sized,

Source§

fn handle( &self, unit_id: UnitId, request: DecodedRequest<'_>, response_pdu: &mut [u8], ) -> Result<usize, ServiceError>

Implementors§