use std::net::IpAddr;
use super::{InputConfig, PeriodicConfig};
/// Конфигурация Modbus клиента
#[derive(Clone, Debug)]
pub enum Config<TMessage> {
/// Вариант для Modbus TCP
Tcp(TcpClientConfig<TMessage>),
/// Вариант для Modbus RTU
Rtu,
}
/// Конфигурация Modbus TCP клиента
#[derive(Clone, Debug)]
pub struct TcpClientConfig<TMessage> {
/// IP-адрес устройства
pub host: IpAddr,
/// Порт устройства (обычно 502)
pub port: u16,
/// Адрес подчиненного устройства (обычно 1)
pub unit_id: u8,
/// Конфигурация запросов на основе входных сообщений
pub input_config: Vec<InputConfig<TMessage>>,
/// Конфигурация периодических запросов
pub periodic_config: Vec<PeriodicConfig<TMessage>>,
}