modbus::internal::request class

Base classes

class adu
ADU base class.

Derived classes

template<constants::function_code function_code>
class modbus::request::base_read_bits
template<constants::function_code function_code>
class modbus::request::base_read_registers
class modbus::request::illegal
class modbus::request::mask_write_register
class modbus::request::read_write_multiple_registers
class modbus::request::write_multiple_coils
class modbus::request::write_multiple_registers
class modbus::request::write_single_coil
class modbus::request::write_single_register

Constructors, destructors, conversion operators

request(constants::function_code function, std::uint16_t transaction = 0x00, std::uint8_t unit = 0x00) explicit
request(constants::function_code function, const initializer_t& initializer) explicit

Public functions

auto execute(table* data_table) -> response::pointer pure virtual
auto response_size() const -> packet_t::size_type virtual
auto check_response_packet(const packet_t& packet) const -> bool
void decode(std::string_view packet)
void decode(const packet_t& packet) pure virtual

Function documentation

modbus::internal::request::request(constants::function_code function, std::uint16_t transaction = 0x00, std::uint8_t unit = 0x00) explicit

Parameters
function modbus function
transaction transaction id
unit unit id

Request constructor

modbus::internal::request::request(constants::function_code function, const initializer_t& initializer) explicit

Parameters
function modbus function
initializer initializer

Request constructor

response::pointer modbus::internal::request::execute(table* data_table) pure virtual

Parameters
data_table data table
Returns modbus response

Execute on data store / mapping

packet_t::size_type modbus::internal::request::response_size() const virtual

Returns response size

Get response size for error checking on client

bool modbus::internal::request::check_response_packet(const packet_t& packet) const

Check if response packet is mismatch with expected packet size

void modbus::internal::request::decode(std::string_view packet)

Decode string_view

void modbus::internal::request::decode(const packet_t& packet) pure virtual

Decode string_view