19 #include <boost/asio/io_context.hpp>
41 std::variant<config::TcpClientConfig, config::TcpServerConfig, config::SerialConfig, config::UdpConfig>;
44 static std::shared_ptr<interface::Channel> create(
const ChannelOptions& options,
45 std::shared_ptr<boost::asio::io_context> external_ioc =
nullptr);
50 std::shared_ptr<boost::asio::io_context> external_ioc);
52 std::shared_ptr<boost::asio::io_context> external_ioc);
54 std::shared_ptr<boost::asio::io_context> external_ioc);
55 static std::shared_ptr<interface::Channel> create_udp(
const config::UdpConfig& cfg,
56 std::shared_ptr<boost::asio::io_context> external_ioc);
std::variant< config::TcpClientConfig, config::TcpServerConfig, config::SerialConfig, config::UdpConfig > ChannelOptions