/* * eth_udp.hpp * * Created on: 15 ���. 2023 �. * Author: sychev */ #ifndef FREE_RTOS_ETHERNET_IP_ETH_UDP_SERVER_HPP_ #define FREE_RTOS_ETHERNET_IP_ETH_UDP_SERVER_HPP_ #include "free_rtos/handler_store/handler_store.hpp" #include "free_rtos/ethernet_ip/eth_udp_server_iface.hpp" #include "free_rtos/ethernet_ip/eth_ip_iface.hpp" #include "free_rtos/ethernet/eth_types.h" #include namespace free_rtos { class EthUdpServer : public Handler, public EthUdpServerIface { public: EthUdpServer(EthIpIface& ip_iface); void setPortId(TEthMacPorts port_id) { port_id_ = port_id;}; virtual std::shared_ptr createClient(uint16_t port_dst, uint16_t port_src, bool use_chksum) override; virtual int32_t Process(uint8_t * p_data, uint32_t len) override; virtual uint32_t Sender(uint8_t * p_data, size_t scatter_segment) override; private: EthIpIface& ip_iface_; TEthMacPorts port_id_; std::map> connections_; /// ���� - ���� ���������� ///HandlerStore handlers_; /// ����������� udp-������ }; } #endif /* FREE_RTOS_ETHERNET_IP_ETH_UDP_SERVER_HPP_ */