Merge pull request #3479 from jroweboy/dont-log-on-no-input
Minor fixes for udp input
This commit is contained in:
		| @@ -32,8 +32,16 @@ public: | ||||
|                     SocketCallback callback) | ||||
|         : callback(std::move(callback)), timer(io_service), | ||||
|           socket(io_service, udp::endpoint(udp::v4(), 0)), client_id(client_id), | ||||
|           pad_index(pad_index), | ||||
|           send_endpoint(udp::endpoint(boost::asio::ip::make_address_v4(host), port)) {} | ||||
|           pad_index(pad_index) { | ||||
|         boost::system::error_code ec{}; | ||||
|         auto ipv4 = boost::asio::ip::make_address_v4(host, ec); | ||||
|         if (ec.failed()) { | ||||
|             LOG_ERROR(Input, "Invalid IPv4 address \"{}\" provided to socket", host); | ||||
|             ipv4 = boost::asio::ip::address_v4{}; | ||||
|         } | ||||
|  | ||||
|         send_endpoint = {udp::endpoint(ipv4, port)}; | ||||
|     } | ||||
|  | ||||
|     void Stop() { | ||||
|         io_service.stop(); | ||||
| @@ -85,17 +93,18 @@ private: | ||||
|     } | ||||
|  | ||||
|     void HandleSend(const boost::system::error_code& error) { | ||||
|         boost::system::error_code _ignored{}; | ||||
|         // Send a request for getting port info for the pad | ||||
|         Request::PortInfo port_info{1, {pad_index, 0, 0, 0}}; | ||||
|         const auto port_message = Request::Create(port_info, client_id); | ||||
|         std::memcpy(&send_buffer1, &port_message, PORT_INFO_SIZE); | ||||
|         socket.send_to(boost::asio::buffer(send_buffer1), send_endpoint); | ||||
|         socket.send_to(boost::asio::buffer(send_buffer1), send_endpoint, {}, _ignored); | ||||
|  | ||||
|         // Send a request for getting pad data for the pad | ||||
|         Request::PadData pad_data{Request::PadData::Flags::Id, pad_index, EMPTY_MAC_ADDRESS}; | ||||
|         const auto pad_message = Request::Create(pad_data, client_id); | ||||
|         std::memcpy(send_buffer2.data(), &pad_message, PAD_DATA_SIZE); | ||||
|         socket.send_to(boost::asio::buffer(send_buffer2), send_endpoint); | ||||
|         socket.send_to(boost::asio::buffer(send_buffer2), send_endpoint, {}, _ignored); | ||||
|         StartSend(timer.expiry()); | ||||
|     } | ||||
|  | ||||
|   | ||||
| @@ -31,7 +31,6 @@ namespace Response { | ||||
|  */ | ||||
| std::optional<Type> Validate(u8* data, std::size_t size) { | ||||
|     if (size < sizeof(Header)) { | ||||
|         LOG_DEBUG(Input, "Invalid UDP packet received"); | ||||
|         return std::nullopt; | ||||
|     } | ||||
|     Header header{}; | ||||
|   | ||||
| @@ -84,7 +84,7 @@ touch_device= | ||||
| # from any cemuhook compatible motion program. | ||||
|  | ||||
| # IPv4 address of the udp input server (Default "127.0.0.1") | ||||
| udp_input_address= | ||||
| udp_input_address=127.0.0.1 | ||||
|  | ||||
| # Port of the udp input server. (Default 26760) | ||||
| udp_input_port= | ||||
|   | ||||
		Reference in New Issue
	
	Block a user